Android localization values-** folder names

后端 未结 3 1468
伪装坚强ぢ
伪装坚强ぢ 2020-12-15 18:56

I have seen several conflicting tables that show localizations and what names they should take

A lot of them suggest that there are versions of the language for each

3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-15 19:18

    The folder name of Android string files is formatted as the following:

    • without region variant: values-[locale]
    • with region variant: values-[locale]-r[region]
    • For example: values-en, values-en-rGB, values-el-rGR.

    In your case, you just need to create a folder values-el for the Greek translation, and values-el-rGR for the country-specific Greek translation.

    Also, you can make use of the resources fallback mechanism in Android, to allow particular strings to be further translated locally.

    For example, suppose you have a string called “R.string.title” and the locale is ‘el-GR’, Android will look for a value of “R.string.title” by searching the files in the following order:

    • res/values-el-rGR/strings.xml
    • res/values-el/strings.xml
    • res/values/strings.xml

    Therefore, you can just put the country-specific translation inside the res/values-el-rGR/strings.xml, and let the res/values-el/strings.xml stores the general translations.

    It can avoid duplicating your strings in different language files by utilizing this fallback mechanism.

提交回复
热议问题