我正在构建一个旨在提供多语言支持的Android应用程序。坚固只是通常的西班牙语,法语,德语等,但也有一些少数民族语言,没有Android Locale。
我知道在资源文件夹中提供各种值文件夹的典型解决方案。例如values_fr或values_sp。但是,对于没有语言环境的少数民族语言,这对我没有帮助。
所以我的目标是将多个字符串xml文件放入values文件夹中。例如:strings-welsh.xml,strings-cornish.xml,strings-gaelic.xml,strings-french.xml等。
但是,我有一个问题,因为我得到了很多'资源条目##已经定义了'错误(其中##是字符串资源的名称)。
如何,那么我可以这样编译器停止抱怨并且我可以自由地调用: getString(R.strings_welsh.app_name)或 getStrings(R.strings_french.app_name)
我将支持Android 4.0(ICS)及更高版本。
答案 0 :(得分:1)
你应该坚持标准的方式。您可以创建没有提供的静态实例的区域设置。事实上,你可以提供你想要的任何东西;来自locale docs:
您可以为不存在的语言和国家/地区创建区域设置
使用constructors。
现在我还没有尝试过,但我认为这意味着如果您将正确的字符串放在正确的文件夹中并且您的设备支持这些语言或者您明确指定了语言环境,那么您应该获得正确的本地化回来了。我不知道您需要哪种语言,但至少对于您提到的语言,这里是two letter language codes:
cy
kw
gd