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
The folder name of Android string files is formatted as the following:
values-[locale]
values-[locale]-r[region]
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.