Hello there,
By default, crowdin exports Hebrew to a folder/file with the two-letter code he
, which usually is correct. However, Android apps use the deprecated iw
for Hebrew and thus need special care. Currently you need to manually fix this by adding a language mapping and you usually only notice it either if you set your systems language to Hebrew and the translations don’t show up or you enable “all warnings as errors” in your build settings, which makes the compiler tell it to you. Below you can see the output from my build pipeline:
/home/runner/work/ShoppingList/ShoppingList/app/src/main/res/values-he: Error: The locale folder "he" should be called "iw" instead; see the java.util.Locale documentation [LocaleFolder]
Explanation for issues of type "LocaleFolder":
From the java.util.Locale documentation:
"Note that Java uses several deprecated two-letter codes. The Hebrew ("he")
language code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish
("yi") as "ji". This rewriting happens even if you construct your own
Locale object, not just for instances returned by the various lookup
methods.
Because of this, if you add your localized resources in for example
values-he they will not be used, since the system will look for values-iw
instead.
To work around this, place your resources in a values folder using the
deprecated language code instead.
https://developer.android.com/reference/java/util/Locale.html
1 errors, 0 warnings
Thank you very much for your time.