同时支持多种语言?

时间:2015-03-13 18:03:56

标签: android unicode unicode-string

我见过很多应用程序会在第一次打开应用程序时询问语言设置,它会在整个时间内加载特定的语言。但在我的情况下,我需要同时支持不同的语言,用户可以拥有超过2首语言歌曲,它应该同时支持4种语言(英语,韩语,日语,中文)的元数据。我从服务器或本地歌曲中获取元数据。所以我使用类似的东西用于韩语(在这种情况下,它不会支持,中文)

String songnametemp = json.getString(0)//from server

String songname=`songnametemp.getBytes("iso-8859-1"), "euc-kr")`//changing to korean
TextView songtext=(TextView)findViewbyID(R.id.song);
songtext.setText(songname)

问题是我无法为每种语言编写硬编码,我不知道哪种语言(META-DATA)歌曲是从服务器播放的。有没有更好的方法呢?

3 个答案:

答案 0 :(得分:2)

在我的棒棒糖设备中,它支持韩语和印地语,但我的kikat并不支持两者。我认为每个新版本都支持更多语言。 在Windows中,它由名为Uniscribe的系统库,ATSUI在Apple系统上以及Pango在Linux系统上处理。 Android基于Linux 但不幸的是,谷歌似乎已经删除了处理复杂脚本的部分。 (自大多数Android设备以来,这是一个相当奇怪  用于通信,包括文本。)使用基于Linux的操作系统(如Nokia N9和N900),复杂脚本在其他移动设备上运行良好 .in android没有办法确定你的歌曲元数据所使用的Unicode语言,如果你知道的语言可以编码为特定语言,就像你上面所做的那样。 或者您可以优先选择设置"选择语言"当您第一次启动应用程序时。但是如果您希望同时支持所有语言。 您必须仅在服务器中进行编码,因此您可以同时支持所有语言。

答案 1 :(得分:1)

当我遇到这个问题并控制存储在服务器上的数据时,我将所有内容转换为Unicode,例如: UTF-8,存储前。这样转换只进行一次,下游应用程序不需要处理UTF-8以外的任何其他操作。一个主要的好处是你并排显示多种语言的用例,现在可以透明地发生。

答案 2 :(得分:0)

我不太清楚你想要做什么,但是为了支持android中的多语言   - 静态值,只需使用“values-en”,“values-ar”之类的值   - 服务器值,使您的Web服务处理语言     “example.com/en/getdata”     “example.com/ar/getdata”   并在您的值中添加链接作为语言