From 3a6ed727d4435ba4bca970fe0f309e6a728f0ee6 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Wed, 15 May 2024 13:12:43 -0400 Subject: 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 --- tools/genlang | 4 ++++ 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() { 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 section for '$id:$tgt' is identical to english!\n"; + $lang{$id}{'notes'} .= "### The 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 section for '$id:$tgt' is identical to english, copying translated \n"; $lang{$id}{'voice'}{$tgt} = $lang{$id}{'dest'}{$tgt}; } else { - $lang{$id}{'notes'} .= "### The section for '$id:$tgt' is identical to english!\n"; + $lang{$id}{'notes'} .= "### The section for '$id:$tgt' is identical to english! (correct or prefix with ~)\n"; } } if (defined($lp{$tgt}) && ($lp{$tgt} =~ /%"/)) { -- cgit v1.2.3