diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2024-05-15 13:12:43 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2024-05-16 20:40:37 -0400 |
commit | 3a6ed727d4435ba4bca970fe0f309e6a728f0ee6 (patch) | |
tree | 3f73a41346fbbc6d3190355966c315a474e2022d | |
parent | 9d3b012ac06cec18e9128e87bc866169613925dc (diff) | |
download | rockbox-3a6ed727d4.tar.gz rockbox-3a6ed727d4.zip |
lang: Add a special flag to differentiate "intentionally identical to english"
We normally treat "same as English" as a translation errors that needs to be
corrected. However, many languages effectively use english words as-is, so
we need a way of distinguishing the "intentionally the same" situations with
our tools "automatically copying missing translated strings from English" to
avoid blank or missing UI strings.
The solution is to make sure these "intentionally same as english"
strings are actually different. This will be accomplished by prepending
'~' to the these strings. This special character is stripped from the
binary data files used by the player and the voice generation tools.
Change-Id: I90088cbd74de0e5cb9d65f75f26afe04f7e301bf
-rwxr-xr-x | tools/genlang | 4 | ||||
-rwxr-xr-x | tools/updatelang | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/tools/genlang b/tools/genlang index abff3e8e18..24b29b7d9a 100755 --- a/tools/genlang +++ b/tools/genlang @@ -469,6 +469,10 @@ while(<LANG>) { else { $idnum = $idcount[$user]++; } + + # Strip out the magic "Same as english" flag + $dest =~ s/^("?)~/$1/; + $voice =~ s/^("?)~/$1/; $id{$idstr} = $idnum; $idnum[$user][$idnum]=$idstr; diff --git a/tools/updatelang b/tools/updatelang index 6f0012c573..e8a5fcae9d 100755 --- a/tools/updatelang +++ b/tools/updatelang @@ -360,7 +360,7 @@ foreach my $id (@langorder) { $lang{$id}{'dest'}{$tgt} = $english{$id}{'dest'}{$tgt}; } } elsif ($lp{$tgt} ne 'none' && $lp{$tgt} ne '' && not_ignorelist($id) && !$lang{$id}{'new'} && !$ignoredups) { - $lang{$id}{'notes'} .= "### The <dest> section for '$id:$tgt' is identical to english!\n"; + $lang{$id}{'notes'} .= "### The <dest> section for '$id:$tgt' is identical to english! (correct or prefix with ~)\n"; # print "#!! '$id:$tgt' dest identical ('$lp{$tgt}')\n"; } if ($id eq 'LANG_VOICED_DATE_FORMAT') { @@ -466,7 +466,7 @@ foreach my $id (@langorder) { $lang{$id}{'notes'} .= "### The <voice> section for '$id:$tgt' is identical to english, copying translated <dest>\n"; $lang{$id}{'voice'}{$tgt} = $lang{$id}{'dest'}{$tgt}; } else { - $lang{$id}{'notes'} .= "### The <voice> section for '$id:$tgt' is identical to english!\n"; + $lang{$id}{'notes'} .= "### The <voice> section for '$id:$tgt' is identical to english! (correct or prefix with ~)\n"; } } if (defined($lp{$tgt}) && ($lp{$tgt} =~ /%"/)) { |