summaryrefslogtreecommitdiff
path: root/tex/context/third/transliterator/trans_tables_trsc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/third/transliterator/trans_tables_trsc.lua')
-rw-r--r--tex/context/third/transliterator/trans_tables_trsc.lua905
1 files changed, 457 insertions, 448 deletions
diff --git a/tex/context/third/transliterator/trans_tables_trsc.lua b/tex/context/third/transliterator/trans_tables_trsc.lua
index bdeaf89..f5de9bb 100644
--- a/tex/context/third/transliterator/trans_tables_trsc.lua
+++ b/tex/context/third/transliterator/trans_tables_trsc.lua
@@ -11,475 +11,484 @@
-- Lowercase German simple transcription---first pass --
--------------------------------------------------------
-translit.ru_trsc_low_first = translit.make_add_dict{
- [" е"] = " je",
- ["ъе"] = "je",
- ["ье"] = "je",
- [" ё"] = " jo",
- ["ъё"] = "jo",
- ["ьё"] = "jo",
- ["жё"] = "scho",
- ["чё"] = "tscho",
- ["шё"] = "scho",
- ["щё"] = "schtscho",
- ["ье"] = "je",
- ["ьи"] = "ji",
- ["ьо"] = "jo",
- ["ий"] = "i",
- ["ый"] = "y",
- ["кс"] = "x" -- Extraordinarily stupid one.
-}
-
-translit.tables["German transcription first pass lowercase"] = translit.ru_trsc_low_first
+if not translit.done_ru_trsc_de then
+ translit.ru_trsc_low_first = translit.make_add_dict{
+ [" е"] = " je",
+ ["ъе"] = "je",
+ ["ье"] = "je",
+ [" ё"] = " jo",
+ ["ъё"] = "jo",
+ ["ьё"] = "jo",
+ ["жё"] = "scho",
+ ["чё"] = "tscho",
+ ["шё"] = "scho",
+ ["щё"] = "schtscho",
+ ["ье"] = "je",
+ ["ьи"] = "ji",
+ ["ьо"] = "jo",
+ ["ий"] = "i",
+ ["ый"] = "y",
+ ["кс"] = "x" -- Extraordinarily stupid one.
+ }
+
+ translit.tables["German transcription first pass lowercase"] = translit.ru_trsc_low_first
+
+ --------------------------------------------------------
+ -- Uppercase German simple transcription---first pass --
+ --------------------------------------------------------
+
+ translit.ru_trsc_upp_first = translit.make_add_dict{
+ [" Е"] = " Je",
+ ["Ъe"] = "Je", -- Pedantic, isn't it?
+ ["Ье"] = "Je",
+ [" Ё"] = "Jo",
+ ["Ъё"] = "Jo",
+ ["Ьё"] = "Jo",
+ ["Жё"] = "Scho",
+ ["Чё"] = "Tscho",
+ ["Шё"] = "Scho",
+ ["Щё"] = "Schtscho",
+ ["Кс"] = "ks"
+ }
+
+ translit.tables["German transcription first pass uppercase"] = translit.ru_trsc_upp_first
+
+ -------------------------------------------
+ -- Lowercase German simple transcription --
+ -------------------------------------------
+
+ translit.ru_trsc_low = translit.make_add_dict{
+ ["а"] = "a",
+ ["б"] = "b",
+ ["в"] = "w",
+ ["г"] = "g",
+ ["д"] = "d",
+ ["е"] = "e",
+ ["ё"] = "jo",
+ ["ж"] = "sch",
+ ["з"] = "s",
+ ["и"] = "i",
+ ["й"] = "i",
+ ["к"] = "k",
+ ["л"] = "l",
+ ["м"] = "m",
+ ["н"] = "n",
+ ["о"] = "o",
+ ["п"] = "p",
+ ["р"] = "r",
+ ["с"] = "s",
+ ["т"] = "t",
+ ["у"] = "u",
+ ["ф"] = "f",
+ ["х"] = "ch",
+ ["ц"] = "z",
+ ["ч"] = "tsch",
+ ["ш"] = "sch",
+ ["щ"] = "schtsch",
+ ["ъ"] = "",
+ ["ы"] = "y",
+ ["ь"] = "",
+ ["э"] = "e",
+ ["ю"] = "ju",
+ ["я"] = "ja"
+ }
+
+ translit.tables["German transcription second pass lowercase"] = translit.ru_trsc_low
+
+ -------------------------------------------
+ -- Uppercase German simple transcription --
+ -------------------------------------------
+
+ translit.ru_trsc_upp = translit.make_add_dict{
+ ["А"] = "A",
+ ["Б"] = "B",
+ ["В"] = "W",
+ ["Г"] = "G",
+ ["Д"] = "D",
+ ["Е"] = "E",
+ ["Ё"] = "Jo",
+ ["Ж"] = "Sch",
+ ["З"] = "S",
+ ["И"] = "I",
+ ["Й"] = "J",
+ ["К"] = "K",
+ ["Л"] = "L",
+ ["М"] = "M",
+ ["Н"] = "N",
+ ["О"] = "O",
+ ["П"] = "P",
+ ["Р"] = "R",
+ ["С"] = "S",
+ ["Т"] = "T",
+ ["У"] = "U",
+ ["Ф"] = "F",
+ ["Х"] = "Ch",
+ ["Ц"] = "Z",
+ ["Ч"] = "Tsch",
+ ["Ш"] = "Sch",
+ ["Щ"] = "Schtsch",
+ ["Ъ"] = "",
+ ["Ы"] = "Y",
+ ["Ь"] = "",
+ ["Э"] = "E",
+ ["Ю"] = "Ju",
+ ["Я"] = "Ja"
+ }
+
+ translit.tables["German transcription second pass uppercase"] = translit.ru_trsc_upp
+
+ translit.ru_trsc_iy = {"и", "ы", "И", "Ы"}
+
+ function translit.gen_rules_de()
+ -- The following are more interesting than the previous tables because they
+ -- implement various rules. For instance the table
+ -- \type{translit.ru_trsc_irule} holds a substitution dictionary for all
+ -- possible combinations (including nonsense galore) of a vowel preceding an
+ -- “й” (Russian short i) preceding a consonant; here we access the sets of
+ -- Russian vowels as well consonants that were defined earlier.
---------------------------------------------------------
--- Uppercase German simple transcription---first pass --
---------------------------------------------------------
-
-translit.ru_trsc_upp_first = translit.make_add_dict{
- [" Е"] = " Je",
- ["Ъe"] = "Je", -- Pedantic, isn't it?
- ["Ье"] = "Je",
- [" Ё"] = "Jo",
- ["Ъё"] = "Jo",
- ["Ьё"] = "Jo",
- ["Жё"] = "Scho",
- ["Чё"] = "Tscho",
- ["Шё"] = "Scho",
- ["Щё"] = "Schtscho",
- ["Кс"] = "ks"
-}
-
-translit.tables["German transcription first pass uppercase"] = translit.ru_trsc_upp_first
-
--------------------------------------------
--- Lowercase German simple transcription --
--------------------------------------------
-
-translit.ru_trsc_low = translit.make_add_dict{
- ["а"] = "a",
- ["б"] = "b",
- ["в"] = "w",
- ["г"] = "g",
- ["д"] = "d",
- ["е"] = "e",
- ["ё"] = "jo",
- ["ж"] = "sch",
- ["з"] = "s",
- ["и"] = "i",
- ["й"] = "i",
- ["к"] = "k",
- ["л"] = "l",
- ["м"] = "m",
- ["н"] = "n",
- ["о"] = "o",
- ["п"] = "p",
- ["р"] = "r",
- ["с"] = "s",
- ["т"] = "t",
- ["у"] = "u",
- ["ф"] = "f",
- ["х"] = "ch",
- ["ц"] = "z",
- ["ч"] = "tsch",
- ["ш"] = "sch",
- ["щ"] = "schtsch",
- ["ъ"] = "",
- ["ы"] = "y",
- ["ь"] = "",
- ["э"] = "e",
- ["ю"] = "ju",
- ["я"] = "ja"
-}
-
-translit.tables["German transcription second pass lowercase"] = translit.ru_trsc_low
-
--------------------------------------------
--- Uppercase German simple transcription --
--------------------------------------------
-
-translit.ru_trsc_upp = translit.make_add_dict{
- ["А"] = "A",
- ["Б"] = "B",
- ["В"] = "W",
- ["Г"] = "G",
- ["Д"] = "D",
- ["Е"] = "E",
- ["Ё"] = "Jo",
- ["Ж"] = "Sch",
- ["З"] = "S",
- ["И"] = "I",
- ["Й"] = "J",
- ["К"] = "K",
- ["Л"] = "L",
- ["М"] = "M",
- ["Н"] = "N",
- ["О"] = "O",
- ["П"] = "P",
- ["Р"] = "R",
- ["С"] = "S",
- ["Т"] = "T",
- ["У"] = "U",
- ["Ф"] = "F",
- ["Х"] = "Ch",
- ["Ц"] = "Z",
- ["Ч"] = "Tsch",
- ["Ш"] = "Sch",
- ["Щ"] = "Schtsch",
- ["Ъ"] = "",
- ["Ы"] = "Y",
- ["Ь"] = "",
- ["Э"] = "E",
- ["Ю"] = "Ju",
- ["Я"] = "Ja"
-}
-
-translit.tables["German transcription second pass uppercase"] = translit.ru_trsc_upp
-
-translit.ru_trsc_iy = {"и", "ы", "И", "Ы"}
-
-function translit.gen_rules_de()
- -- The following are more interesting than the previous tables because they
- -- implement various rules. For instance the table
- -- \type{translit.ru_trsc_irule} holds a substitution dictionary for all
- -- possible combinations (including nonsense galore) of a vowel preceding an
- -- “й” (Russian short i) preceding a consonant; here we access the sets of
- -- Russian vowels as well consonants that were defined earlier.
-
- -- The й-rule, VйC -> ViC
- translit.ru_trsc_irule = translit.make_add_dict{}
- for _, vow in ipairs(translit.ru_vowels) do
- for _, cons in ipairs(translit.ru_consonants) do
- local new_ante = vow .. "й" .. cons
- local new_post = vow .. "i" .. cons
- translit.ru_trsc_irule[new_ante] = new_post
- end
- end
-
- translit.tables["German transcription i-rule"] = translit.ru_trsc_irule
+ -- The й-rule, VйC -> ViC
+ translit.ru_trsc_irule = translit.make_add_dict{}
+ for _, vow in ipairs(translit.ru_vowels) do
+ for _, cons in ipairs(translit.ru_consonants) do
+ local new_ante = vow .. "й" .. cons
+ local new_post = vow .. "i" .. cons
+ translit.ru_trsc_irule[new_ante] = new_post
+ end
+ end
- -- The second й-rule, йV -> jV && [иы]йC -> [иы]jC
- translit.ru_trsc_jrule = {}
- for _, vow in ipairs(translit.ru_vowels) do
- local new_ante = "й" .. vow
- local new_post = "j" .. vow
- translit.ru_trsc_jrule[new_ante] = new_post
- end
+ translit.tables["German transcription i-rule"] = translit.ru_trsc_irule
- for _, cons in ipairs(translit.ru_consonants) do
- for _, iy in ipairs(translit.ru_trsc_iy) do
- local new_ante = iy .. "й" .. cons
- local new_post = iy .. "j" .. cons
+ -- The second й-rule, йV -> jV && [иы]йC -> [иы]jC
+ translit.ru_trsc_jrule = {}
+ for _, vow in ipairs(translit.ru_vowels) do
+ local new_ante = "й" .. vow
+ local new_post = "j" .. vow
translit.ru_trsc_jrule[new_ante] = new_post
- end
- end
+ end
- translit.tables["German transcription j-rule"] = translit.ru_trsc_jrule
+ for _, cons in ipairs(translit.ru_consonants) do
+ for _, iy in ipairs(translit.ru_trsc_iy) do
+ local new_ante = iy .. "й" .. cons
+ local new_post = iy .. "j" .. cons
+ translit.ru_trsc_jrule[new_ante] = new_post
+ end
+ end
- -- The с-rule, VсV -> VssV
- translit.ru_trsc_srule = translit.make_add_dict{}
- for i, vow_1 in ipairs(translit.ru_vowels) do
- for j, vow_2 in ipairs(translit.ru_vowels) do
- local new_ante = vow_1 .. "с" .. vow_2
- local new_post = vow_1 .. "ss" .. vow_2
- translit.ru_trsc_srule[new_ante] = new_post
- end
- end
+ translit.tables["German transcription j-rule"] = translit.ru_trsc_jrule
- translit.tables["German transcription s-rule"] = translit.ru_trsc_srule
+ -- The с-rule, VсV -> VssV
+ translit.ru_trsc_srule = translit.make_add_dict{}
+ for i, vow_1 in ipairs(translit.ru_vowels) do
+ for j, vow_2 in ipairs(translit.ru_vowels) do
+ local new_ante = vow_1 .. "с" .. vow_2
+ local new_post = vow_1 .. "ss" .. vow_2
+ translit.ru_trsc_srule[new_ante] = new_post
+ end
+ end
- -- The sharp-s-rule, Vсх -> Vßх
- translit.ru_trsc_sharpsrule = translit.make_add_dict{}
- for i, vow in ipairs(translit.ru_vowels) do
- local new_ante = vow .. "сх"
- local new_post = vow .. "ßх"
- translit.ru_trsc_sharpsrule[new_ante] = new_post
- end
+ translit.tables["German transcription s-rule"] = translit.ru_trsc_srule
- translit.tables["German transcription sharp-s-rule"] = translit.ru_trsc_sharpsrule
+ -- The sharp-s-rule, Vсх -> Vßх
+ translit.ru_trsc_sharpsrule = translit.make_add_dict{}
+ for i, vow in ipairs(translit.ru_vowels) do
+ local new_ante = vow .. "сх"
+ local new_post = vow .. "ßх"
+ translit.ru_trsc_sharpsrule[new_ante] = new_post
+ end
- -- The е-rule, Vе -> Vje
- translit.ru_trsc_jerule = translit.make_add_dict{}
- for i, vow in ipairs(translit.ru_vowels) do
- local new_ante = vow .. "е"
- local new_post = vow .. "je"
- translit.ru_trsc_jerule[new_ante] = new_post
- end
+ translit.tables["German transcription sharp-s-rule"] = translit.ru_trsc_sharpsrule
- translit.tables["German transcription je-rule"] = translit.ru_trsc_jerule
+ -- The е-rule, Vе -> Vje
+ translit.ru_trsc_jerule = translit.make_add_dict{}
+ for i, vow in ipairs(translit.ru_vowels) do
+ local new_ante = vow .. "е"
+ local new_post = vow .. "je"
+ translit.ru_trsc_jerule[new_ante] = new_post
+ end
- -- The ё-rule, Vё -> Vjo
- -- This should be redundant as [жцчшщ]ё -> o, else ё -> jo .
- -- Somebody should teach those DUDEN-guys parsimony.
- translit.ru_trsc_jorule = translit.make_add_dict{}
- for i, vow in ipairs(translit.ru_vowels) do
- local new_ante = vow .. "ё"
- local new_post = vow .. "jo"
- translit.ru_trsc_jorule[new_ante] = new_post
- end
+ translit.tables["German transcription je-rule"] = translit.ru_trsc_jerule
- translit.tables["German transcription (redundant) jo-rule"] = translit.ru_trsc_jorule
+ -- The ё-rule, Vё -> Vjo
+ -- This should be redundant as [жцчшщ]ё -> o, else ё -> jo .
+ -- Somebody should teach those DUDEN-guys parsimony.
+ translit.ru_trsc_jorule = translit.make_add_dict{}
+ for i, vow in ipairs(translit.ru_vowels) do
+ local new_ante = vow .. "ё"
+ local new_post = vow .. "jo"
+ translit.ru_trsc_jorule[new_ante] = new_post
+ end
+
+ translit.tables["German transcription (redundant) jo-rule"] = translit.ru_trsc_jorule
+ end
+ translit.done_ru_trsc_de = true
end
----------------------------------------------------------
--- Lowercase English simple transcription---first pass --
----------------------------------------------------------
-
-translit.ru_trsc_en_low_first = translit.make_add_dict{
- [" е"] = " ye",
- ["ъе"] = "ye",
- ["ье"] = "ye",
- ["ье"] = "ye",
- ["ьи"] = "yi",
-}
-
-translit.tables["English transcription lowercase first pass"] = translit.ru_trsc_en_low_first
-
----------------------------------------------------------
--- Uppercase English simple transcription---first pass --
----------------------------------------------------------
-
-translit.ru_trsc_en_upp_first = translit.make_add_dict{
- [" Е"] = " Ye",
- ["Ъe"] = "Ye",
- ["Ье"] = "Ye",
-}
-
-translit.tables["English transcription uppercase first pass"] = translit.ru_trsc_en_upp_first
-
---------------------------------------------
--- Lowercase English simple transcription --
---------------------------------------------
-
-translit.ru_trsc_en_low = translit.make_add_dict{
- ["а"] = "a",
- ["б"] = "b",
- ["в"] = "v",
- ["г"] = "g",
- ["д"] = "d",
- ["е"] = "e",
- ["ё"] = "e",
- ["ж"] = "zh",
- ["з"] = "z",
- ["и"] = "i",
- ["й"] = "y",
- ["к"] = "k",
- ["л"] = "l",
- ["м"] = "m",
- ["н"] = "n",
- ["о"] = "o",
- ["п"] = "p",
- ["р"] = "r",
- ["с"] = "s",
- ["т"] = "t",
- ["у"] = "u",
- ["ф"] = "f",
- ["х"] = "kh",
- ["ц"] = "ts",
- ["ч"] = "ch",
- ["ш"] = "sh",
- ["щ"] = "shsh",
- ["ъ"] = "",
- ["ы"] = "y",
- ["ь"] = "",
- ["э"] = "e",
- ["ю"] = "yu",
- ["я"] = "ya"
-}
-
-translit.tables["English transcription lowercase second pass"] = translit.ru_trsc_en_low
-
---------------------------------------------
--- Uppercase English simple transcription --
---------------------------------------------
-
-translit.ru_trsc_en_upp = translit.make_add_dict{
- ["А"] = "A",
- ["Б"] = "B",
- ["В"] = "V",
- ["Г"] = "G",
- ["Д"] = "D",
- ["Е"] = "E",
- ["Ё"] = "E",
- ["Ж"] = "Zh",
- ["З"] = "Z",
- ["И"] = "I",
- ["Й"] = "Y",
- ["К"] = "K",
- ["Л"] = "L",
- ["М"] = "M",
- ["Н"] = "N",
- ["О"] = "O",
- ["П"] = "P",
- ["Р"] = "R",
- ["С"] = "S",
- ["Т"] = "T",
- ["У"] = "U",
- ["Ф"] = "F",
- ["Х"] = "Kh",
- ["Ц"] = "Ts",
- ["Ч"] = "Ch",
- ["Ш"] = "Sh",
- ["Щ"] = "Shsh",
- ["Ъ"] = "",
- ["Ы"] = "Y",
- ["Ь"] = "",
- ["Э"] = "E",
- ["Ю"] = "Yu",
- ["Я"] = "Ya"
-}
-
-translit.tables["English transcription uppercase second pass"] = translit.ru_trsc_en_upp
+if not translit.done_ru_trsc_en then
+ ---------------------------------------------------------
+ -- Lowercase English simple transcription---first pass --
+ ---------------------------------------------------------
+
+ translit.ru_trsc_en_low_first = translit.make_add_dict{
+ [" е"] = " ye",
+ ["ъе"] = "ye",
+ ["ье"] = "ye",
+ ["ье"] = "ye",
+ ["ьи"] = "yi",
+ }
+
+ translit.tables["English transcription lowercase first pass"] = translit.ru_trsc_en_low_first
+
+ ---------------------------------------------------------
+ -- Uppercase English simple transcription---first pass --
+ ---------------------------------------------------------
+
+ translit.ru_trsc_en_upp_first = translit.make_add_dict{
+ [" Е"] = " Ye",
+ ["Ъe"] = "Ye",
+ ["Ье"] = "Ye",
+ }
+
+ translit.tables["English transcription uppercase first pass"] = translit.ru_trsc_en_upp_first
+
+ --------------------------------------------
+ -- Lowercase English simple transcription --
+ --------------------------------------------
+
+ translit.ru_trsc_en_low = translit.make_add_dict{
+ ["а"] = "a",
+ ["б"] = "b",
+ ["в"] = "v",
+ ["г"] = "g",
+ ["д"] = "d",
+ ["е"] = "e",
+ ["ё"] = "e",
+ ["ж"] = "zh",
+ ["з"] = "z",
+ ["и"] = "i",
+ ["й"] = "y",
+ ["к"] = "k",
+ ["л"] = "l",
+ ["м"] = "m",
+ ["н"] = "n",
+ ["о"] = "o",
+ ["п"] = "p",
+ ["р"] = "r",
+ ["с"] = "s",
+ ["т"] = "t",
+ ["у"] = "u",
+ ["ф"] = "f",
+ ["х"] = "kh",
+ ["ц"] = "ts",
+ ["ч"] = "ch",
+ ["ш"] = "sh",
+ ["щ"] = "shsh",
+ ["ъ"] = "",
+ ["ы"] = "y",
+ ["ь"] = "",
+ ["э"] = "e",
+ ["ю"] = "yu",
+ ["я"] = "ya"
+ }
+
+ translit.tables["English transcription lowercase second pass"] = translit.ru_trsc_en_low
+
+ --------------------------------------------
+ -- Uppercase English simple transcription --
+ --------------------------------------------
+
+ translit.ru_trsc_en_upp = translit.make_add_dict{
+ ["А"] = "A",
+ ["Б"] = "B",
+ ["В"] = "V",
+ ["Г"] = "G",
+ ["Д"] = "D",
+ ["Е"] = "E",
+ ["Ё"] = "E",
+ ["Ж"] = "Zh",
+ ["З"] = "Z",
+ ["И"] = "I",
+ ["Й"] = "Y",
+ ["К"] = "K",
+ ["Л"] = "L",
+ ["М"] = "M",
+ ["Н"] = "N",
+ ["О"] = "O",
+ ["П"] = "P",
+ ["Р"] = "R",
+ ["С"] = "S",
+ ["Т"] = "T",
+ ["У"] = "U",
+ ["Ф"] = "F",
+ ["Х"] = "Kh",
+ ["Ц"] = "Ts",
+ ["Ч"] = "Ch",
+ ["Ш"] = "Sh",
+ ["Щ"] = "Shsh",
+ ["Ъ"] = "",
+ ["Ы"] = "Y",
+ ["Ь"] = "",
+ ["Э"] = "E",
+ ["Ю"] = "Yu",
+ ["Я"] = "Ya"
+ }
+
+ translit.tables["English transcription uppercase second pass"] = translit.ru_trsc_en_upp
+
+
+ function translit.gen_rules_en ()
+ -- The english е-rule, Vе -> Vye
+ translit.ru_trsc_en_jerule = translit.make_add_dict{}
+ for i, vow in ipairs(translit.ru_vowels) do
+ local new_ante = vow .. "е"
+ local new_post = vow .. "ye"
+ translit.ru_trsc_en_jerule[new_ante] = new_post
+ end
-
-function translit.gen_rules_en ()
- -- The english е-rule, Vе -> Vye
- translit.ru_trsc_en_jerule = translit.make_add_dict{}
- for i, vow in ipairs(translit.ru_vowels) do
- local new_ante = vow .. "е"
- local new_post = vow .. "ye"
- translit.ru_trsc_en_jerule[new_ante] = new_post
+ translit.tables["English transcription ye-rule"] = translit.ru_trsc_en_jerule
end
-
- translit.tables["English transcription ye-rule"] = translit.ru_trsc_en_jerule
+ translit.done_ru_trsc_en = true
end
------------------------------------
--- Lowercase Czech transcription --
------------------------------------
-
-translit.ru_trsc_cz_low = translit.make_add_dict{
- ["а"] = "a",
- ["б"] = "b",
- ["в"] = "v",
- ["г"] = "g",
- ["д"] = "d",
- ["е"] = "e",
- ["ё"] = "ë",
- ["ж"] = "ž",
- ["з"] = "z",
- ["и"] = "i",
- ["й"] = "j",
- ["к"] = "k",
- ["л"] = "l",
- ["м"] = "m",
- ["н"] = "n",
- ["о"] = "o",
- ["п"] = "p",
- ["р"] = "r",
- ["с"] = "s",
- ["т"] = "t",
- ["у"] = "u",
- ["ф"] = "f",
- ["х"] = "ch",
- ["ц"] = "c",
- ["ч"] = "č",
- ["ш"] = "š",
- ["щ"] = "šč",
- ["ъ"] = "ъ",
- ["ы"] = "y",
- ["ь"] = "ь",
- ["э"] = "è",
- ["ю"] = "ju", -- Maybe we should do things like ню -> ňu and тя -> ťa, but
- ["я"] = "ja" -- that would complicate things a bit and linguists might not
-} -- agree.
-
-translit.tables["Czech transcription lowercase"] = translit.ru_trsc_cz_low
-
------------------------------------
--- Uppercase Czech transcription --
------------------------------------
-
-translit.ru_trsc_cz_upp = translit.make_add_dict{
- ["А"] = "A",
- ["Б"] = "B",
- ["В"] = "V",
- ["Г"] = "G",
- ["Д"] = "D",
- ["Е"] = "E",
- ["Ё"] = "Ë",
- ["Ж"] = "Ž",
- ["З"] = "Z",
- ["И"] = "I",
- ["Й"] = "J",
- ["К"] = "K",
- ["Л"] = "L",
- ["М"] = "M",
- ["Н"] = "N",
- ["О"] = "O",
- ["П"] = "P",
- ["Р"] = "R",
- ["С"] = "S",
- ["Т"] = "T",
- ["У"] = "U",
- ["Ф"] = "F",
- ["Х"] = "Ch",
- ["Ц"] = "C",
- ["Ч"] = "Č",
- ["Ш"] = "Š",
- ["Щ"] = "Šč",
- ["Ъ"] = "Ъ",
- ["Ы"] = "Y",
- ["Ь"] = "Ь",
- ["Э"] = "È",
- ["Ю"] = "Ju",
- ["Я"] = "Ja"
-}
-
-translit.tables["Czech transcription uppercase"] = translit.ru_trsc_cz_upp
-
-----------------------------------------------
--- Lowercase Additional Czech Transcription --
-----------------------------------------------
-
-translit.ru_trsc_cz_add_low = translit.make_add_dict{
- ["ѕ"] = "dz",
- ["з"] = "z",
- ["ꙁ"] = "z",
- ["і"] = "ï",
- ["ѹ"] = "u",
- ["ѡ"] = "ō",
- ["ѣ"] = "ě",
- ["ѥ"] = "je",
- ["ѧ"] = "ę",
- ["ѩ"] = "ję",
- ["ѫ"] = "ǫ",
- ["ѭ"] = "jǫ",
- ["ѯ"] = "ks",
- ["ѱ"] = "ps",
- ["ѳ"] = "th",
- ["ѵ"] = "ÿ",
-}
-
-translit.tables["Czech transcription for OCS and pre-1918 lowercase"] = translit.ru_trsc_cz_add_low
-
-
-----------------------------------------------
--- Uppercase Additional Czech Transcription --
-----------------------------------------------
-
-translit.ru_trsc_cz_add_upp = translit.make_add_dict{
- ["Ѕ"] = "Dz",
- ["З"] = "Z",
- ["Ꙁ"] = "Z",
- ["І"] = "Ï",
- ["Ѹ"] = "U",
- ["Ѡ"] = "Ō",
- ["Ѣ"] = "Ě",
- ["Ѥ"] = "Je",
- ["Ѧ"] = "Ę",
- ["Ѩ"] = "Ję",
- ["Ѫ"] = "Ǫ",
- ["Ѭ"] = "Jǫ",
- ["Ѯ"] = "Ks",
- ["Ѱ"] = "Ps",
- ["Ѳ"] = "Th",
- ["Ѵ"] = "Ÿ",
-}
-
-translit.tables["Czech transcription for OCS and pre-1918 uppercase"] = translit.ru_trsc_cz_add_upp
+if not translit.done_ru_trsc_cz then
+ -----------------------------------
+ -- Lowercase Czech transcription --
+ -----------------------------------
+
+ translit.ru_trsc_cz_low = translit.make_add_dict{
+ ["а"] = "a",
+ ["б"] = "b",
+ ["в"] = "v",
+ ["г"] = "g",
+ ["д"] = "d",
+ ["е"] = "e",
+ ["ё"] = "ë",
+ ["ж"] = "ž",
+ ["з"] = "z",
+ ["и"] = "i",
+ ["й"] = "j",
+ ["к"] = "k",
+ ["л"] = "l",
+ ["м"] = "m",
+ ["н"] = "n",
+ ["о"] = "o",
+ ["п"] = "p",
+ ["р"] = "r",
+ ["с"] = "s",
+ ["т"] = "t",
+ ["у"] = "u",
+ ["ф"] = "f",
+ ["х"] = "ch",
+ ["ц"] = "c",
+ ["ч"] = "č",
+ ["ш"] = "š",
+ ["щ"] = "šč",
+ ["ъ"] = "ъ",
+ ["ы"] = "y",
+ ["ь"] = "ь",
+ ["э"] = "è",
+ ["ю"] = "ju", -- Maybe we should do things like ню -> ňu and тя -> ťa, but
+ ["я"] = "ja" -- that would complicate things a bit and linguists might not
+ } -- agree.
+
+ translit.tables["Czech transcription lowercase"] = translit.ru_trsc_cz_low
+
+ -----------------------------------
+ -- Uppercase Czech transcription --
+ -----------------------------------
+
+ translit.ru_trsc_cz_upp = translit.make_add_dict{
+ ["А"] = "A",
+ ["Б"] = "B",
+ ["В"] = "V",
+ ["Г"] = "G",
+ ["Д"] = "D",
+ ["Е"] = "E",
+ ["Ё"] = "Ë",
+ ["Ж"] = "Ž",
+ ["З"] = "Z",
+ ["И"] = "I",
+ ["Й"] = "J",
+ ["К"] = "K",
+ ["Л"] = "L",
+ ["М"] = "M",
+ ["Н"] = "N",
+ ["О"] = "O",
+ ["П"] = "P",
+ ["Р"] = "R",
+ ["С"] = "S",
+ ["Т"] = "T",
+ ["У"] = "U",
+ ["Ф"] = "F",
+ ["Х"] = "Ch",
+ ["Ц"] = "C",
+ ["Ч"] = "Č",
+ ["Ш"] = "Š",
+ ["Щ"] = "Šč",
+ ["Ъ"] = "Ъ",
+ ["Ы"] = "Y",
+ ["Ь"] = "Ь",
+ ["Э"] = "È",
+ ["Ю"] = "Ju",
+ ["Я"] = "Ja"
+ }
+
+ translit.tables["Czech transcription uppercase"] = translit.ru_trsc_cz_upp
+
+ ----------------------------------------------
+ -- Lowercase Additional Czech Transcription --
+ ----------------------------------------------
+
+ translit.ru_trsc_cz_add_low = translit.make_add_dict{
+ ["ѕ"] = "dz",
+ ["з"] = "z",
+ ["ꙁ"] = "z",
+ ["і"] = "ï",
+ ["ѹ"] = "u",
+ ["ѡ"] = "ō",
+ ["ѣ"] = "ě",
+ ["ѥ"] = "je",
+ ["ѧ"] = "ę",
+ ["ѩ"] = "ję",
+ ["ѫ"] = "ǫ",
+ ["ѭ"] = "jǫ",
+ ["ѯ"] = "ks",
+ ["ѱ"] = "ps",
+ ["ѳ"] = "th",
+ ["ѵ"] = "ÿ",
+ }
+
+ translit.tables["Czech transcription for OCS and pre-1918 lowercase"] = translit.ru_trsc_cz_add_low
+
+
+ ----------------------------------------------
+ -- Uppercase Additional Czech Transcription --
+ ----------------------------------------------
+
+ translit.ru_trsc_cz_add_upp = translit.make_add_dict{
+ ["Ѕ"] = "Dz",
+ ["З"] = "Z",
+ ["Ꙁ"] = "Z",
+ ["І"] = "Ï",
+ ["Ѹ"] = "U",
+ ["Ѡ"] = "Ō",
+ ["Ѣ"] = "Ě",
+ ["Ѥ"] = "Je",
+ ["Ѧ"] = "Ę",
+ ["Ѩ"] = "Ję",
+ ["Ѫ"] = "Ǫ",
+ ["Ѭ"] = "Jǫ",
+ ["Ѯ"] = "Ks",
+ ["Ѱ"] = "Ps",
+ ["Ѳ"] = "Th",
+ ["Ѵ"] = "Ÿ",
+ }
+
+ translit.tables["Czech transcription for OCS and pre-1918 uppercase"] = translit.ru_trsc_cz_add_upp
+ translit.done_ru_trsc_cz = true
+end
--===========================================================================--
-- End Of Tables --