diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2021-12-15 19:02:54 -0500 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2021-12-15 19:19:44 -0500 |
commit | b53d2bc4329b13069ca10f7cca980b5c94319bf5 (patch) | |
tree | 7101dd2f2ffe9bed2f4c18d8b5d864efb435561e | |
parent | 651853f5df0935d717336da06c742f34bc8b0bfc (diff) | |
download | rockbox-b53d2bc432.tar.gz rockbox-b53d2bc432.zip |
languages: Fix RTL language file generation
The 'rtl' flags for Arabic and Hebrew was inadvertantly deleted
in 7ff3c94e1 (over a year ago, in November 2020!) but it's actually been
broken since the introduction of 'updatelang', in 2305966d (July 2020)
The fix here is to change the 'RTL' flag from an <options> section in
the language file to a comment in the header. It's not as pure in a
design sense but it makes for a much cleaner implementation.
I may further revamp this by making the 'RTL' flag into an explicit
LANG_xxx string
Change-Id: I48f394adfadc0aa804fd67690c87cc28f04fccdc
-rw-r--r-- | apps/lang/arabic.lang | 2 | ||||
-rw-r--r-- | apps/lang/hebrew.lang | 2 | ||||
-rwxr-xr-x | tools/genlang | 10 |
3 files changed, 8 insertions, 6 deletions
diff --git a/apps/lang/arabic.lang b/apps/lang/arabic.lang index a7961cfefc..e94bd19cef 100644 --- a/apps/lang/arabic.lang +++ b/apps/lang/arabic.lang @@ -14,6 +14,8 @@ # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # +# LANGUAGE_IS_RTL +# # Arabic language file, translated by: # - Mohamed Tarek # - Raafat Akkad diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang index 89475017ba..f7f03a562b 100644 --- a/apps/lang/hebrew.lang +++ b/apps/lang/hebrew.lang @@ -14,6 +14,8 @@ # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # +# LANGUAGE_IS_RTL +# # Hebrew language file, translated by: # - Ariel Saghiv # - Liberman Shachar diff --git a/tools/genlang b/tools/genlang index 893badb57e..4f7386890d 100755 --- a/tools/genlang +++ b/tools/genlang @@ -369,6 +369,10 @@ while(<LANG>) { if($_ =~ /^( *\#|[ \t\n\r]*\z)/) { # comment or empty line - output it if it's part of the header + if ($_ =~ /LANGUAGE_IS_RTL/) { + $langoptions |= $LANGUAGE_FLAG_RTL; + } + if ($header and $sortfile) { print($_); } @@ -485,12 +489,6 @@ while(<LANG>) { } undef @phrase; } # end of </phrase> - elsif($part eq "/options") { - # closing the options - if ($options{'rtl'}) { - $langoptions |= $LANGUAGE_FLAG_RTL; - } - } # end of </options> # starts with a slash, this _ends_ this section $m = pop @m; # get back old value, the previous level's tag |