summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-06-20 16:54:51 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-06-20 17:31:31 -0400
commite100daf343d1ee00641402aeca5b631c97b96977 (patch)
tree4684d3bd46279470eaab08ec6456351fbbec86e8
parent8cb8a30f9d8e87fbd1103abef6447358393cfcd1 (diff)
downloadrockbox-e100daf343.tar.gz
rockbox-e100daf343.zip
voice: Voiced strings for INVALID_VOICE and LANGUAGE_NAME
* Voice generation script will create standalone .talk clips * These talk clips will be included in the rockbox .zip file * All .voice files will be included in the rockbox .zip file * Added LANGUAGE_NAME for all languages in the nightly builds This way, any voice pack installed will give you a the langauge voiced in the browser, and if the voice file fails to load you will get a natively translated error message. Change-Id: I6b627a51746cd088d6e200666dd326ea2745f55f
-rw-r--r--apps/lang/deutsch.lang14
-rw-r--r--apps/lang/english-us.lang28
-rw-r--r--apps/lang/english.lang29
-rw-r--r--apps/lang/francais.lang14
-rw-r--r--apps/lang/greek.lang14
-rw-r--r--apps/lang/italiano.lang14
-rw-r--r--apps/lang/nederlands.lang14
-rw-r--r--apps/lang/norsk.lang14
-rw-r--r--apps/lang/polski.lang14
-rw-r--r--apps/lang/russian.lang14
-rw-r--r--apps/lang/slovak.lang14
-rw-r--r--apps/lang/srpski.lang14
-rw-r--r--apps/lang/turkce.lang14
-rwxr-xr-xtools/buildzip.pl5
-rwxr-xr-xtools/updatelang10
-rwxr-xr-xtools/voice.pl8
16 files changed, 231 insertions, 3 deletions
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang
index 85dbf79ce9..4a3ceda374 100644
--- a/apps/lang/deutsch.lang
+++ b/apps/lang/deutsch.lang
@@ -16331,3 +16331,17 @@
*: "Rechtliche Hinweise"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Deustch"
+ </voice>
+</phrase>
diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang
index 28396f48a0..6fb62f9a9d 100644
--- a/apps/lang/english-us.lang
+++ b/apps/lang/english-us.lang
@@ -16368,3 +16368,31 @@
*: "Chess box Menu"
</voice>
</phrase>
+<phrase>
+ id: VOICE_INVALID_VOICE_FILE
+ desc: played if the voice file fails to load
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Invalid Voice File"
+ </voice>
+</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "American English"
+ </voice>
+</phrase>
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 2303af5c4c..32170ce430 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -16444,4 +16444,31 @@
*: "Chess box Menu"
</voice>
</phrase>
-
+<phrase>
+ id: VOICE_INVALID_VOICE_FILE
+ desc: played if the voice file fails to load
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Invalid Voice File"
+ </voice>
+</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "English"
+ </voice>
+</phrase>
diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang
index d4b472cc3f..55b7ae9f63 100644
--- a/apps/lang/francais.lang
+++ b/apps/lang/francais.lang
@@ -15066,3 +15066,17 @@
*: "Perte de contrôle"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Français"
+ </voice>
+</phrase>
diff --git a/apps/lang/greek.lang b/apps/lang/greek.lang
index 93ebe91438..2006801a47 100644
--- a/apps/lang/greek.lang
+++ b/apps/lang/greek.lang
@@ -15564,3 +15564,17 @@
*: "Καθαρισμός λίστας αναπαραγωγής"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Ελληνικά"
+ </voice>
+</phrase>
diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang
index 971e01a93a..946850750f 100644
--- a/apps/lang/italiano.lang
+++ b/apps/lang/italiano.lang
@@ -16860,3 +16860,17 @@
*: "Esperto"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Italiano"
+ </voice>
+</phrase>
diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang
index 34195a0af6..805eb0aa85 100644
--- a/apps/lang/nederlands.lang
+++ b/apps/lang/nederlands.lang
@@ -16869,3 +16869,17 @@
*: "Expert"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Nederlands"
+ </voice>
+</phrase>
diff --git a/apps/lang/norsk.lang b/apps/lang/norsk.lang
index b5bfab96d9..a3ac67564f 100644
--- a/apps/lang/norsk.lang
+++ b/apps/lang/norsk.lang
@@ -15568,3 +15568,17 @@
*: "Knight"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Norsk"
+ </voice>
+</phrase>
diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang
index 19675faa8f..a9eefa9a16 100644
--- a/apps/lang/polski.lang
+++ b/apps/lang/polski.lang
@@ -16377,3 +16377,17 @@
*: "Menu Czesboks"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Polski"
+ </voice>
+</phrase>
diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang
index 7c2b38e9fc..8a42c92f2b 100644
--- a/apps/lang/russian.lang
+++ b/apps/lang/russian.lang
@@ -16620,3 +16620,17 @@
*: "Перейти к последнему альбому"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Русский"
+ </voice>
+</phrase>
diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang
index eee662cf5c..107e9d425c 100644
--- a/apps/lang/slovak.lang
+++ b/apps/lang/slovak.lang
@@ -16296,3 +16296,17 @@
*: "Ponechať aktuálnu stopu pri nahradení playlistu"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Slovenčina"
+ </voice>
+</phrase>
diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang
index bdd4a73fdf..e738109bbc 100644
--- a/apps/lang/srpski.lang
+++ b/apps/lang/srpski.lang
@@ -16858,3 +16858,17 @@
*: "Стручњак"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "српски"
+ </voice>
+</phrase>
diff --git a/apps/lang/turkce.lang b/apps/lang/turkce.lang
index 62ad457183..e7515b5f8f 100644
--- a/apps/lang/turkce.lang
+++ b/apps/lang/turkce.lang
@@ -16861,3 +16861,17 @@
*: "Çok Zor"
</voice>
</phrase>
+<phrase>
+ id: VOICE_LANG_NAME
+ desc: Spoken name of the language
+ user: core
+ <source>
+ *: ""
+ </source>
+ <dest>
+ *: ""
+ </dest>
+ <voice>
+ *: "Türkçe"
+ </voice>
+</phrase>
diff --git a/tools/buildzip.pl b/tools/buildzip.pl
index 65aca59e13..fb26597290 100755
--- a/tools/buildzip.pl
+++ b/tools/buildzip.pl
@@ -658,6 +658,11 @@ sub buildzip {
# Copy over the Invalid Language fallback stuff
glob_copy("$ROOT/apps/lang/Invalid*.talk", "$temp_dir/langs/");
+ # Copy over any generated voice/talk clips
+ glob_copy('Invalid*.talk', "$temp_dir/langs/");
+ glob_copy('*.lng.talk', "$temp_dir/langs/");
+ glob_copy('*.voice', "$temp_dir/langs/");
+
# copy the .lua files
glob_mkdir("$temp_dir/rocks/viewers/lua/");
glob_copy('apps/plugins/lua/*.lua', "$temp_dir/rocks/viewers/lua/");
diff --git a/tools/updatelang b/tools/updatelang
index 98c5d3cb73..febfadbfe0 100755
--- a/tools/updatelang
+++ b/tools/updatelang
@@ -237,8 +237,14 @@ foreach (@englishorder) {
foreach (@missingorder) {
# print "#!! '$_' missing\n";
push(@langorder, $_);
- $lang{$_} = $english{$_};
- $lang{$_}{'notes'} .= "### This phrase is missing entirely, copying from english!\n";
+ if ($_ eq 'VOICE_LANG_NAME') {
+ $lang{$_} = $english{$_};
+ $lang{$_}{'voice'}{'*'} = "";
+ $lang{$_}{'notes'} .= "### This phrase is missing entirely, please fill out\n";
+ } else {
+ $lang{$_} = $english{$_};
+ $lang{$_}{'notes'} .= "### This phrase is missing entirely, copying from english!\n";
+ }
$lang{$_}{'new'} = 1;
}
undef @missingorder;
diff --git a/tools/voice.pl b/tools/voice.pl
index b582c96235..c62e4c164a 100755
--- a/tools/voice.pl
+++ b/tools/voice.pl
@@ -511,6 +511,14 @@ sub generateclips {
if (defined($ENV{'POOL'})) {
copy($enc, $pool_file);
}
+ # Special cases
+ if ($id eq "VOICE_INVALID_VOICE_FILE") {
+ copy ($enc, "InvalidVoice_$language.talk");
+ }
+ if ($id eq "VOICE_LANG_NAME") {
+ copy ($enc, "$language.lng.talk");
+ }
+
unlink($wav);
}
$voice = "";