From e100daf343d1ee00641402aeca5b631c97b96977 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Thu, 20 Jun 2024 16:54:51 -0400 Subject: 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 --- apps/lang/deutsch.lang | 14 ++++++++++++++ apps/lang/english-us.lang | 28 ++++++++++++++++++++++++++++ apps/lang/english.lang | 29 ++++++++++++++++++++++++++++- apps/lang/francais.lang | 14 ++++++++++++++ apps/lang/greek.lang | 14 ++++++++++++++ apps/lang/italiano.lang | 14 ++++++++++++++ apps/lang/nederlands.lang | 14 ++++++++++++++ apps/lang/norsk.lang | 14 ++++++++++++++ apps/lang/polski.lang | 14 ++++++++++++++ apps/lang/russian.lang | 14 ++++++++++++++ apps/lang/slovak.lang | 14 ++++++++++++++ apps/lang/srpski.lang | 14 ++++++++++++++ apps/lang/turkce.lang | 14 ++++++++++++++ tools/buildzip.pl | 5 +++++ tools/updatelang | 10 ++++++++-- tools/voice.pl | 8 ++++++++ 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Deustch" + + 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" + + id: VOICE_INVALID_VOICE_FILE + desc: played if the voice file fails to load + user: core + + *: "" + + + *: "" + + + *: "Invalid Voice File" + + + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "American English" + + 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" - + + id: VOICE_INVALID_VOICE_FILE + desc: played if the voice file fails to load + user: core + + *: "" + + + *: "" + + + *: "Invalid Voice File" + + + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "English" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Français" + + 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 @@ *: "Καθαρισμός λίστας αναπαραγωγής" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Ελληνικά" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Italiano" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Nederlands" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Norsk" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Polski" + + 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 @@ *: "Перейти к последнему альбому" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Русский" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Slovenčina" + + 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 @@ *: "Стручњак" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "српски" + + 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" + + id: VOICE_LANG_NAME + desc: Spoken name of the language + user: core + + *: "" + + + *: "" + + + *: "Türkçe" + + 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 = ""; -- cgit v1.2.3