1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-02 08:59:28 +02:00

String literals for UTF-8 language names using octal escapes only...

... Leaving absolutely no doubt about the portability.

New Perl script in locale emits the required C++ source when LanguageNames.txt
is updated.
This commit is contained in:
Paul Licameli 2018-01-03 17:52:07 -05:00
parent 0df94faad8
commit 815a80846d
3 changed files with 135 additions and 115 deletions

View File

@ -0,0 +1,23 @@
#!/usr/bin/perl
# Take LangugeNames.txt and write C++ string literals to standard out,
# which describe the UTF-8 byte sequence using only the basic coding
# character set.
# Copy and paste that over the table of strings in src/Languages.cpp.
open LANGUAGES, "LanguageNames.txt" or die "Can't open LanguageNames.txt: $!\n";
while( <LANGUAGES> ) {
chop;
print "\"";
@codes = unpack 'C*';
@newCodes = ();
for $code (@codes) {
if ($code <= ord 'z') {
push @newCodes, $code;
}
else {
push @newCodes, unpack('C*', sprintf("\\%03o", $code));
}
}
print pack 'C*', @newCodes;
print "\",\n";
}

View File

@ -1,59 +1,56 @@
// To edit this file, open as UTF-8 encoded Unicode
// To use the updated file, open as 8-bit ASCII, copy the strings, and paste
// over the table of names in src/Languages.cpp
"af Afrikaans",
"ar العربية",
"be Беларуская",
"bg Български",
"bn বাংলা",
"bs Bosanski",
"ca Català",
"ca_ES@valencia Valencià",
"cs Čeština",
"cy Cymraeg",
"da Dansk",
"de Deutsch",
"el Ελληνικά",
"en English",
"es Español",
"eu Euskara",
"eu_ES Euskara (Espainiako)",
"fa فارسی",
"fi Suomi",
"fr Français",
"ga Gaeilge",
"gl Galego",
"he עברית",
"hi हिन्दी",
"hr Hrvatski",
"hu Magyar",
"hy Հայերեն",
"id Bahasa Indonesia",
"it Italiano",
"ja 日本語",
"ka ქართული",
"km ខេមរភាសា",
"ko 한국어",
"lt Lietuvių",
"mk Македонски",
"my မြန်မာစာ",
"nb Norsk",
"nl Nederlands",
"oc Occitan",
"pl Polski",
"pt Português",
"pt_BR Português (Brasil)",
"ro Română",
"ru Русский",
"sk Slovenčina",
"sl Slovenščina",
"sr_RS Српски",
"sr_RS@latin Srpski",
"sv Svenska",
"ta தமிழ்",
"tg Тоҷикӣ",
"tr Türkçe",
"uk Українська",
"vi Tiếng Việt",
"zh_CN 中文",
"zh_TW 中文",
af Afrikaans
ar العربية
be Беларуская
bg Български
bn বাংলা
bs Bosanski
ca Català
ca_ES@valencia Valencià
cs Čeština
cy Cymraeg
da Dansk
de Deutsch
el Ελληνικά
en English
es Español
eu Euskara
eu_ES Euskara (Espainiako)
fa فارسی
fi Suomi
fr Français
ga Gaeilge
gl Galego
he עברית
hi हिन्दी
hr Hrvatski
hu Magyar
hy Հայերեն
id Bahasa Indonesia
it Italiano
ja 日本語
ka ქართული
km ខេមរភាសា
ko 한국어
lt Lietuvių
mk Македонски
my မြန်မာစာ
nb Norsk
nl Nederlands
oc Occitan
pl Polski
pt Português
pt_BR Português (Brasil)
ro Română
ru Русский
sk Slovenčina
sl Slovenščina
sr_RS Српски
sr_RS@latin Srpski
sv Svenska
ta தமிழ்
tg Тоҷикӣ
tr Türkçe
uk Українська
vi Tiếng Việt
zh_CN 中文
zh_TW 中文

View File

@ -128,62 +128,62 @@ wxString GetSystemLanguageCode()
void GetLanguages(wxArrayString &langCodes, wxArrayString &langNames)
{
static const char *const utf8Names[] = {
"af Afrikaans",
"ar العربية",
"be Беларуская",
"bg Български",
"bn বাংলা",
"bs Bosanski",
"ca Català",
"ca_ES@valencia Valencià",
"cs Čeština",
"cy Cymraeg",
"da Dansk",
"de Deutsch",
"el Ελληνικά",
"en English",
"es Español",
"eu Euskara",
"eu_ES Euskara (Espainiako)",
"fa فارسی",
"fi Suomi",
"fr Français",
"ga Gaeilge",
"gl Galego",
"he עברית",
"hi हिन्दी",
"hr Hrvatski",
"hu Magyar",
"hy Հայերեն",
"id Bahasa Indonesia",
"it Italiano",
"ja 日本語",
"ka ქართული",
"km ខេមរភាសា",
"ko 한국어",
"lt Lietuvių",
"mk Македонски",
"my မြန်မာစာ",
"nb Norsk",
"nl Nederlands",
"oc Occitan",
"pl Polski",
"pt Português",
"pt_BR Português (Brasil)",
"ro Română",
"ru Русский",
"sk Slovenčina",
"sl Slovenščina",
"sr_RS Српски",
"sr_RS@latin Srpski",
"sv Svenska",
"ta தமிழ்",
"tg Тоҷикӣ",
"tr Türkçe",
"uk Українська",
"vi Tiếng Việt",
"zh_CN 中文",
"zh_TW 中文",
"af Afrikaans",
"ar \330\247\331\204\330\271\330\261\330\250\331\212\330\251",
"be \320\221\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217",
"bg \320\221\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270",
"bn \340\246\254\340\246\276\340\246\202\340\246\262\340\246\276",
"bs Bosanski",
"ca Catal\303\240",
"ca_ES@valencia Valenci\303\240",
"cs \304\214e\305\241tina",
"cy Cymraeg",
"da Dansk",
"de Deutsch",
"el \316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254",
"en English",
"es Espa\303\261ol",
"eu Euskara",
"eu_ES Euskara (Espainiako)",
"fa \331\201\330\247\330\261\330\263\333\214",
"fi Suomi",
"fr Fran\303\247ais",
"ga Gaeilge",
"gl Galego",
"he \327\242\327\221\327\250\327\231\327\252",
"hi \340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200",
"hr Hrvatski",
"hu Magyar",
"hy \325\200\325\241\325\265\325\245\326\200\325\245\325\266",
"id Bahasa Indonesia",
"it Italiano",
"ja \346\227\245\346\234\254\350\252\236",
"ka \341\203\245\341\203\220\341\203\240\341\203\227\341\203\243\341\203\232\341\203\230",
"km \341\236\201\341\237\201\341\236\230\341\236\232\341\236\227\341\236\266\341\236\237\341\236\266",
"ko \355\225\234\352\265\255\354\226\264",
"lt Lietuvi\305\263",
"mk \320\234\320\260\320\272\320\265\320\264\320\276\320\275\321\201\320\272\320\270",
"my \341\200\231\341\200\274\341\200\224\341\200\272\341\200\231\341\200\254\341\200\205\341\200\254",
"nb Norsk",
"nl Nederlands",
"oc Occitan",
"pl Polski",
"pt Portugu\303\252s",
"pt_BR Portugu\303\252s (Brasil)",
"ro Rom\303\242n\304\203",
"ru \320\240\321\203\321\201\321\201\320\272\320\270\320\271",
"sk Sloven\304\215ina",
"sl Sloven\305\241\304\215ina",
"sr_RS \320\241\321\200\320\277\321\201\320\272\320\270",
"sr_RS@latin Srpski",
"sv Svenska",
"ta \340\256\244\340\256\256\340\256\277\340\256\264\340\257\215",
"tg \320\242\320\276\322\267\320\270\320\272\323\243",
"tr T\303\274rk\303\247e",
"uk \320\243\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260",
"vi Ti\341\272\277ng Vi\341\273\207t",
"zh_CN \344\270\255\346\226\207",
"zh_TW \344\270\255\346\226\207",
};
wxArrayString tempNames;