interscript 0.1.2 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/lib/g2pwrapper.py +34 -0
  4. data/lib/interscript.rb +142 -20
  5. data/lib/interscript/command.rb +28 -0
  6. data/lib/interscript/fs.rb +69 -0
  7. data/lib/interscript/mapping.rb +142 -0
  8. data/lib/interscript/opal.rb +57 -0
  9. data/lib/interscript/opal/entrypoint.rb +12 -0
  10. data/lib/interscript/opal/map_translate.rb +7 -0
  11. data/lib/interscript/opal/maps.js.erb +10 -0
  12. data/lib/interscript/version.rb +1 -1
  13. data/lib/model-7 +0 -0
  14. data/lib/tha-pt-b-7 +0 -0
  15. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38916 -0
  16. data/maps/alalc-amh-Ethi-Latn-1997.yaml +513 -0
  17. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  18. data/maps/alalc-ara-Arab-Latn-1997.yaml +1287 -0
  19. data/maps/alalc-asm-Deva-Latn-1997.yaml +165 -0
  20. data/maps/alalc-asm-Deva-Latn-2012.yaml +40 -0
  21. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +145 -0
  22. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +129 -0
  23. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  24. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +98 -0
  25. data/maps/alalc-ell-Grek-Latn-1997.yaml +628 -0
  26. data/maps/alalc-ell-Grek-Latn-2010.yaml +626 -0
  27. data/maps/alalc-guj-Gujr-Latn-1997.yaml +266 -0
  28. data/maps/alalc-guj-Gujr-Latn-2011.yaml +64 -0
  29. data/maps/alalc-hin-Deva-Latn-1997.yaml +211 -0
  30. data/maps/alalc-hin-Deva-Latn-2011.yaml +47 -0
  31. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  32. data/maps/alalc-kat-Geor-Latn-1997.yaml +150 -0
  33. data/maps/alalc-kor-Hang-Latn-1997.yaml +98 -0
  34. data/maps/alalc-mal-Mlym-Latn-1997.yaml +303 -0
  35. data/maps/alalc-mal-Mlym-Latn-2012.yaml +73 -0
  36. data/maps/alalc-mar-Deva-Latn-1997.yaml +189 -0
  37. data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
  38. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  39. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  40. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
  41. data/maps/alalc-pan-Guru-Latn-1997.yaml +256 -0
  42. data/maps/alalc-pan-Guru-Latn-2011.yaml +78 -0
  43. data/maps/alalc-per-Arab-Latn-1997.yaml +375 -0
  44. data/maps/alalc-pli-Deva-Latn-2012.yaml +144 -0
  45. data/maps/alalc-pra-Deva-Latn-2012.yaml +47 -0
  46. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +225 -0
  47. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  48. data/maps/alalc-san-Deva-Latn-2012.yaml +172 -0
  49. data/maps/alalc-sin-Sinh-Latn-1997.yaml +292 -0
  50. data/maps/alalc-sin-Sinh-Latn-2011.yaml +71 -0
  51. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +118 -0
  52. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  53. data/maps/alalc-tam-Taml-Latn-1997.yaml +62 -0
  54. data/maps/alalc-tam-Taml-Latn-2011.yaml +58 -0
  55. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +145 -0
  56. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  57. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  58. data/maps/{bas-rus-Cyrl-Latn-bss.yaml → bas-rus-Cyrl-Latn-2017-bss.yaml} +58 -33
  59. data/maps/{bas-rus-Cyrl-Latn-oss.yaml → bas-rus-Cyrl-Latn-2017-oss.yaml} +55 -35
  60. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  61. data/maps/bgn-kor-Hang-Latn-1943.yaml +35 -0
  62. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  63. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  64. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  65. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +532 -0
  66. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +596 -0
  67. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +2 -3
  68. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  69. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +188 -0
  70. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +289 -0
  71. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +119 -0
  72. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +15 -65
  73. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
  74. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +705 -0
  75. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +23 -0
  76. data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -2
  77. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  78. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +131 -0
  79. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  80. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  81. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  82. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  83. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +163 -0
  84. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  85. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
  86. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +230 -0
  87. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +336 -0
  88. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +639 -0
  89. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +459 -0
  90. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +168 -0
  91. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +150 -65
  92. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +170 -0
  93. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +220 -0
  94. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +240 -0
  95. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +80 -4
  96. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +119 -0
  97. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +127 -0
  98. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +82 -0
  99. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  100. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  101. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  102. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  103. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +181 -0
  104. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  105. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  106. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  107. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  108. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  109. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  110. data/maps/by-bel-Cyrl-Latn-1998.yaml +172 -0
  111. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  112. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +899 -0
  113. data/maps/din-hin-Deva-Latn-33904-2018.yaml +100 -0
  114. data/maps/din-kat-Geor-Latn-32707-2010.yaml +145 -0
  115. data/maps/din-mar-Deva-Latn-33904-2018.yaml +84 -0
  116. data/maps/din-nep-Deva-Latn-33904-2018.yaml +119 -0
  117. data/maps/din-pli-Deva-Latn-33904-2018.yaml +75 -0
  118. data/maps/din-pra-Deva-Latn-33904-2018.yaml +63 -0
  119. data/maps/din-san-Deva-Latn-33904-2018.yaml +338 -0
  120. data/maps/din-tam-Taml-Latn-33903-2016.yaml +213 -0
  121. data/maps/dos-nep-Deva-Latn-1997.yaml +47 -0
  122. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  123. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  124. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  125. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  126. data/maps/ggg-kat-Geor-Latn-2002.yaml +92 -0
  127. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  128. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  129. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +190 -0
  130. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
  131. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  132. data/maps/icao-bel-Cyrl-Latn-9303.yaml +109 -98
  133. data/maps/icao-bul-Cyrl-Latn-9303.yaml +2 -7
  134. data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +6 -8
  135. data/maps/icao-heb-Hebr-Latn-9303.yaml +119 -125
  136. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +2 -3
  137. data/maps/icao-rus-Cyrl-Latn-9303.yaml +2 -4
  138. data/maps/icao-srp-Cyrl-Latn-9303.yaml +2 -3
  139. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +2 -4
  140. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  141. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +75 -0
  142. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +175 -0
  143. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +613 -0
  144. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +44 -0
  145. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +220 -0
  146. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +87 -0
  147. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +61 -0
  148. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +66 -0
  149. data/maps/iso-kan-Knda-Latn-15919-2001.yaml +220 -0
  150. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +145 -0
  151. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +240 -0
  152. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +226 -0
  153. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +281 -0
  154. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +75 -0
  155. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +87 -0
  156. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +193 -0
  157. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +222 -0
  158. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +73 -0
  159. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +74 -0
  160. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +219 -0
  161. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +55 -0
  162. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +59 -0
  163. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +366 -0
  164. data/maps/{iso-rus-Cyrl-Latn-iso9.yaml → iso-rus-Cyrl-Latn-9-1995.yaml} +4 -6
  165. data/maps/iso-san-Deva-Latn-15919-2001.yaml +220 -0
  166. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +159 -0
  167. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +220 -0
  168. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  169. data/maps/kp-kor-Hang-Latn-2002.yaml +909 -0
  170. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  171. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  172. data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +163 -0
  173. data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +200 -0
  174. data/maps/moct-kor-Hang-Latn-2000.yaml +807 -0
  175. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  176. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  177. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  178. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  179. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  180. data/maps/odni-ara-Arab-Latn-2015.yaml +425 -0
  181. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  182. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  183. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  184. data/maps/odni-che-Cyrl-Latn-2015.yaml +169 -0
  185. data/maps/odni-fas-Arab-Latn-2015.yaml +406 -0
  186. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  187. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  188. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  189. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  190. data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
  191. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  192. data/maps/odni-per-Arab-Latn-2015.yaml +228 -0
  193. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  194. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  195. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  196. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  197. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  198. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  199. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  200. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  201. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  202. data/maps/royin-tha-Thai-Latn-1968.yaml +183 -0
  203. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  204. data/maps/royin-tha-Thai-Latn-1999.yaml +80 -0
  205. data/maps/{cn-chn-Hans-Latn-pinyin.yaml → sac-zho-Hans-Latn-1979.yaml} +11 -8
  206. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +389 -0
  207. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +354 -0
  208. data/maps/ses-ara-Arab-Latn-1930.yaml +283 -0
  209. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  210. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +197 -0
  211. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
  212. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
  213. data/maps/un-amh-Ethi-Latn-2016.yaml +602 -0
  214. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  215. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  216. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  217. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  218. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  219. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +780 -0
  220. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  221. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  222. data/maps/un-hin-Deva-Latn-2016.yaml +222 -0
  223. data/maps/un-mar-Deva-Latn-2016.yaml +91 -0
  224. data/maps/un-mon-Mong-Latn-general-2013.yaml +264 -0
  225. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +264 -0
  226. data/maps/un-nep-Deva-Latn-1972.yaml +350 -0
  227. data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
  228. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  229. data/maps/un-ukr-Cyrl-Latn-1998.yaml +53 -0
  230. data/maps/un-ukr-Cyrl-Latn-2012.yaml +162 -0
  231. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +221 -0
  232. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  233. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  234. data/maps/var-kor-Hang-Hang-jamo.yaml +11193 -0
  235. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  236. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  237. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  238. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +43 -0
  239. data/maps/var-mon-Mong-Latn-1930.yaml +102 -0
  240. data/maps/var-mon-Mong-Latn-lessing.yaml +272 -0
  241. data/maps/var-mon-Mong-Latn-vpmc.yaml +274 -0
  242. data/maps/var-pra-Deva-Latn-iast-1912.yaml +30 -0
  243. data/maps/var-san-Deva-Latn-iast-1912.yaml +149 -0
  244. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  245. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  246. data/maps/var-zho-Hani-Latn-wd-1979.yaml +38912 -0
  247. data/spec/interscript/filenames_spec.rb +384 -0
  248. data/spec/interscript/mapping_spec.rb +42 -0
  249. data/spec/interscript_spec.rb +23 -5
  250. data/spec/spec_helper.rb +3 -1
  251. metadata +364 -34
  252. data/bin/interscript +0 -20
  253. data/bin/rspec +0 -29
  254. data/maps/bgnpcgn-chn-Hans-Latn-pinyin.yaml +0 -7503
  255. data/maps/historic-jpn-Hrkt-Latn-hepburn.yaml +0 -336
  256. data/maps/icao-gre-Grek-Latn-9303.yaml +0 -101
  257. data/maps/mext-jpn-Hrkt-Latn-hepburn.yaml +0 -330
  258. data/maps/mext-jpn-Hrkt-Latn-kunrei.yaml +0 -308
  259. data/maps/un-jpn-Hrkt-Latn-hepburn.yaml +0 -313
  260. data/maps/un-jpn-Hrkt-Latn-kunrei.yaml +0 -354
  261. data/maps/un-mon-Mong-Latn-2013.yaml +0 -80
@@ -0,0 +1,197 @@
1
+ ---
2
+ authority_id: ua
3
+ id: 1996
4
+ language: iso-639-2:ukr
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Government of Ukraine Ukrainian System (1996)
8
+ alias:
9
+ ogc11122:
10
+ code: ukr_Cyrl2Latn_GUP_1996
11
+ description: Ukrainian Government of Ukraine 1996 System
12
+ url: http://transliteration.eki.ee/pdf/Ukrainian.pdf
13
+ creation_date: 1996
14
+ description: Romanization table for Ukrainian. The current national system of romanization.
15
+
16
+ notes:
17
+ - gh is used in the romanization of зг zgh.
18
+ - In initial position є -> ye, ї -> yi, й -> y, ю -> yu, я -> ya.
19
+
20
+ tests:
21
+ - source: Алушта
22
+ expected: Alushta
23
+ - source: Борщагівка
24
+ expected: Borschahivka
25
+ - source: Вишгород
26
+ expected: Vyshhorod
27
+ - source: Гадяч
28
+ expected: Hadiach
29
+ - source: Згорани
30
+ expected: Zghorany
31
+ - source: Ґалаґан
32
+ expected: Galagan
33
+ - source: Дон
34
+ expected: Don
35
+ - source: Рівне
36
+ expected: Rivne
37
+ - source: Єнакієве
38
+ expected: Yenakiieve
39
+ - source: Наєнко
40
+ expected: Naienko
41
+ - source: Житомир
42
+ expected: Zhytomyr
43
+ - source: Запоріжжя
44
+ expected: Zaporizhzhia
45
+ - source: Закарпаття
46
+ expected: Zakarpattia
47
+ - source: Медвин
48
+ expected: Medvyn
49
+ - source: Іршава
50
+ expected: Irshava
51
+ - source: Їжакевич
52
+ expected: Yizhakevych
53
+ - source: Кадіївка
54
+ expected: Kadiivka
55
+ - source: Йосипівка
56
+ expected: Yosypivka
57
+ - source: Київ
58
+ expected: Kyiv
59
+ - source: Лебедин
60
+ expected: Lebedyn
61
+ - source: Миколаїв
62
+ expected: Mykolaiv
63
+ - source: Ніжин
64
+ expected: Nizhyn
65
+ - source: Одеса
66
+ expected: Odesa
67
+ - source: Полтава
68
+ expected: Poltava
69
+ - source: Ромни
70
+ expected: Romny
71
+ - source: Суми
72
+ expected: Sumy
73
+ - source: Тетерів
74
+ expected: Teteriv
75
+ - source: Ужгород
76
+ expected: Uzhhorod
77
+ - source: Фастів
78
+ expected: Fastiv
79
+ - source: Харків
80
+ expected: Kharkiv
81
+ - source: Біла Церква
82
+ expected: Bila Tserkva
83
+ - source: Чернівці
84
+ expected: Chernivtsi
85
+ - source: Шостка
86
+ expected: Shostka
87
+ - source: Гоща
88
+ expected: Hoscha
89
+ - source: Русь
90
+ expected: Rus’
91
+ - source: Юрій
92
+ expected: Yurii
93
+ - source: Крюківка
94
+ expected: Kriukivka
95
+ - source: Яготин
96
+ expected: Yahotyn
97
+ - source: Ічня
98
+ expected: Ichnia
99
+ - source: Знам’янка
100
+ expected: Znam”ianka
101
+
102
+ map:
103
+ rules:
104
+ - pattern: (?<=[Зз])\u0413 # Г after З or з
105
+ result: Gh
106
+ - pattern: (?<=[Зз])\u0433 # г after З or з
107
+ result: gh
108
+ - pattern: (?<!\b\u2019)\b\u0404 # Є in initial position -> Ye
109
+ result: Ye
110
+ - pattern: (?<!\b\u2019)\b\u0454 # є in initial position -> ye
111
+ result: ye
112
+ - pattern: (?<!\b\u2019)\b\u0407 # Ї in initial position -> Yi
113
+ result: Yi
114
+ - pattern: (?<!\b\u2019)\b\u0457 # ї in initial position -> yi
115
+ result: yi
116
+ - pattern: (?<!\b\u2019)\b\u0419 # Й in initial position -> Y
117
+ result: "Y"
118
+ - pattern: (?<!\b\u2019)\b\u0419 # й in initial position -> y
119
+ result: "y"
120
+ - pattern: (?<!\b\u2019)\b\u042e # Ю in initial position -> Yu
121
+ result: Yu
122
+ - pattern: (?<!\b\u2019)\b\u044e # ю in initial position -> yu
123
+ result: yu
124
+ - pattern: (?<!\b\u2019)\b\u042f # Я in initial position -> Ya
125
+ result: Ya
126
+ - pattern: (?<!\b\u2019)\b\u044f # я in initial position -> ya
127
+ result: ya
128
+ - pattern: \b\u2019\b # ’ in the middle of a word -> ”
129
+ result: "\u201d"
130
+
131
+ characters:
132
+ "\u0410": "A" # А
133
+ "\u0411": "B" # Б
134
+ "\u0412": "V" # В
135
+ "\u0413": "H" # Г
136
+ "\u0490": "G" # Ґ
137
+ "\u0414": "D" # Д
138
+ "\u0415": "E" # Е
139
+ "\u0404": "Ie" # Є
140
+ "\u0416": "Zh" # Ж
141
+ "\u0417": "Z" # З
142
+ "\u0418": "Y" # И
143
+ "\u0406": "I" # І
144
+ "\u0407": "I" # Ї
145
+ "\u0419": "I" # Й
146
+ "\u041a": "K" # К
147
+ "\u041b": "L" # Л
148
+ "\u041c": "M" # М
149
+ "\u041d": "N" # Н
150
+ "\u041e": "O" # О
151
+ "\u041f": "P" # П
152
+ "\u0420": "R" # Р
153
+ "\u0421": "S" # С
154
+ "\u0422": "T" # Т
155
+ "\u0423": "U" # У
156
+ "\u0424": "F" # Ф
157
+ "\u0425": "Kh" # Х
158
+ "\u0426": "Ts" # Ц
159
+ "\u0427": "Ch" # Ч
160
+ "\u0428": "Sh" # Ш
161
+ "\u0429": "Sch" # Щ
162
+ "\u042e": "Iu" # Ю
163
+ "\u042f": "Ia" # Я
164
+ "\u042c": "\u2019" # Ь -> ’
165
+ "\u0430": "a" # а
166
+ "\u0431": "b" # б
167
+ "\u0432": "v" # в
168
+ "\u0433": "h" # г
169
+ "\u0491": "g" # ґ
170
+ "\u0434": "d" # д
171
+ "\u0435": "e" # е
172
+ "\u0454": "ie" # є
173
+ "\u0436": "zh" # ж
174
+ "\u0437": "z" # з
175
+ "\u0438": "y" # и
176
+ "\u0456": "i" # і
177
+ "\u0457": "i" # ї
178
+ "\u0439": "i" # й
179
+ "\u043a": "k" # к
180
+ "\u043b": "l" # л
181
+ "\u043c": "m" # м
182
+ "\u043d": "n" # н
183
+ "\u043e": "o" # о
184
+ "\u043f": "p" # п
185
+ "\u0440": "r" # р
186
+ "\u0441": "s" # с
187
+ "\u0442": "t" # т
188
+ "\u0443": "u" # у
189
+ "\u0444": "f" # ф
190
+ "\u0445": "kh" # х
191
+ "\u0446": "ts" # ц
192
+ "\u0447": "ch" # ч
193
+ "\u0448": "sh" # ш
194
+ "\u0449": "sch" # щ
195
+ "\u044e": "iu" # ю
196
+ "\u044f": "ia" # я
197
+ "\u044c": "\u2019" # ь -> ’
@@ -0,0 +1,75 @@
1
+ ---
2
+ authority_id: ua
3
+ id: 2007
4
+ language: iso-639-2:ukr
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: The Cabinet of Ministers of Ukraine adopted Resolution No 858 "About the statement of the technical description and a sample passport form of a citizen of Ukraine to go abroad and make changes to some acts of the Cabinet of Ministers of Ukraine"
8
+ url: https://zakon.rada.gov.ua/laws/show/858-2007-%D0%BF/ed20070626
9
+ creation_date: 2007
10
+
11
+ tests: # tests generated with https://dmsu.gov.ua/services/transliteration.html
12
+ - source: ОЛЕКСАНДР ЯН
13
+ expected: OLEKSANDR YAN
14
+ - source: ТРАНСЛІТЕРАЦІЇ
15
+ expected: TRANSLITERATSII
16
+ - source: ПЕРЕВІРКА
17
+ expected: PEREVIRKA
18
+ - source: ВСІ МАТЕРІАЛИ РОЗМІЩЕНІ НА УМОВАХ ЛІЦЕНЗІЇ
19
+ expected: VSI MATERIALY ROZMISHCHENI NA UMOVAKH LITSENZII
20
+ - source: ВВЕДІТЬ ПРІЗВИЩЕ ТА ІМ'Я УКРАЇНСЬКИМИ ЛІТЕРАМИ
21
+ expected: VVEDIT PRIZVYSHCHE TA IMIA UKRAINSKYMY LITERAMY
22
+ - source: ДОДАТКОВА ІНФОРМАЦІЯ
23
+ expected: DODATKOVA INFORMATSIIA
24
+ - source: ДІЯЛЬНІСТЬ
25
+ expected: DIIALNIST
26
+ - source: ЮЛІЯ
27
+ expected: YULIIA
28
+ - source: ЗГОРАНИ
29
+ expected: ZGHORANY
30
+ - source: ЙОРКШИР-ТЕР'ЄР
31
+ expected: YORKSHYR-TERIER
32
+ - source: ПАПА ПАЧУКА
33
+ expected: PAPA PACHUKA
34
+ - source: ЄНАКІЄВЕ
35
+ expected: YENAKIIEVE
36
+
37
+ map:
38
+ inherit: ua-ukr-Cyrl-Latn-1996
39
+
40
+ rules:
41
+ # override parent rules
42
+ - pattern: \u0027
43
+ result: ""
44
+ - pattern: \u2019
45
+ result: ""
46
+ - pattern: (?<=[З])\u0413 # Г after З or з
47
+ result: GH
48
+ - pattern: \b\u0404 # Є in initial position -> YE
49
+ result: YE
50
+ - pattern: \b\u0407 # Ї in initial position -> I
51
+ result: I
52
+ - pattern: \b\u042e # Ю in initial position -> YU
53
+ result: YU
54
+ - pattern: \b\u042f # Я in initial position -> YA
55
+ result: YA
56
+
57
+ characters:
58
+ "\u0413": 'G' # Г
59
+ "\u0404": 'IE' # Є
60
+ "\u0416": 'ZH' # Ж
61
+ "\u0425": 'KH' # Х
62
+ "\u0426": 'TS' # Ц
63
+ "\u0427": 'CH' # Ч
64
+ "\u0428": 'SH' # Ш
65
+ "\u0429": 'SHCH' # Щ
66
+ "\u042e": 'IU' # Ю
67
+ "\u042f": 'IA' # Я
68
+ "\u042c": '' # Ь ->
69
+ "\u0433": 'g' # г
70
+ "\u0449": 'shch' # щ
71
+ "\u044e": 'iu' # ю
72
+ "\u044f": 'ia' # я
73
+ "\u044c": '' # ь ->
74
+ "\u0027": '' # ' ->
75
+ "\u2019": '' # ’ ->
@@ -0,0 +1,192 @@
1
+ ---
2
+ authority_id: ua
3
+ id: 2010
4
+ language: iso-639-2:ukr
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: The Cabinet of Ministers of Ukraine adopted Resolution No 55 "On Normalization of Transliteration of the Ukrainian Alphabet by Means of the Latin Alphabet"
8
+ url: https://unstats.un.org/unsd/geoinfo/UNGEGN/docs/26th-gegn-docs/WP/WP21_Roma_system_Ukraine%20_engl._.pdf
9
+ creation_date: 2010
10
+
11
+ description: |
12
+ The Cabinet of Ministers of Ukraine adopted Resolution No 55 "On
13
+ Normalization of Transliteration of the Ukrainian Alphabet by Means of the
14
+ Latin Alphabet" on January 27, 2010. The Resolution approved The Table of
15
+ transliteration of the Ukrainian Alphabet by Means of the Latin Alphabet.
16
+ As a result of the adoption of this Resolution Ukrainian proper names
17
+ (geographical names, names and surnames,) are rendered by means of the Latin
18
+ alphabet in accordance with unified rules of transliteration in official documents,
19
+ in cartographic editions, on signs of populated places, streets, metro stations,
20
+ stops, etc.
21
+
22
+ notes:
23
+ - Combination of letters "зг" is transliterated as "zgh" as opposed to "zh" – the equivalent of the Ukrainian letter "ж".
24
+ - Soft sign and the apostrophe are not reproduced in Latin.
25
+ - Transliteration of first and last names of individuals and geograpical names is carried out by way of letter-for-letter representation in Latin.
26
+
27
+ tests:
28
+ - source: Алушта
29
+ expected: Alushta
30
+ - source: Андрій
31
+ expected: Andrii
32
+ - source: Борщагівка
33
+ expected: Borshchahivka
34
+ - source: Борисенко
35
+ expected: Borysenko
36
+ - source: Вінниця
37
+ expected: Vinnytsia
38
+ - source: Володимир
39
+ expected: Volodymyr
40
+ - source: Гадяч
41
+ expected: Hadiach
42
+ - source: Богдан
43
+ expected: Bohdan
44
+ - source: Згурський
45
+ expected: Zghurskyi
46
+ - source: Ґалаґан
47
+ expected: Galagan
48
+ - source: Ґорґани
49
+ expected: Gorgany
50
+ - source: Донецьк
51
+ expected: Donetsk
52
+ - source: Дмитро
53
+ expected: Dmytro
54
+ - source: Рівне
55
+ expected: Rivne
56
+ - source: Олег
57
+ expected: Oleh
58
+ - source: Есмань
59
+ expected: Esman
60
+ - source: Єнакієве
61
+ expected: Yenakiieve
62
+ - source: Гаєвич
63
+ expected: Haievych
64
+ - source: Короп'є
65
+ expected: Koropie
66
+ - source: Житомир
67
+ expected: Zhytomyr
68
+ - source: Жанна
69
+ expected: Zhanna
70
+ - source: Жежелів
71
+ expected: Zhezheliv
72
+ - source: Закарпаття
73
+ expected: Zakarpattia
74
+ - source: Казимирчук
75
+ expected: Kazymyrchuk
76
+ - source: Медвин
77
+ expected: Medvyn
78
+ - source: Михайленко
79
+ expected: Mykhailenko
80
+ - source: Іванків
81
+ expected: Ivankiv
82
+ - source: Іващенко
83
+ expected: Ivashchenko
84
+ - source: Їжакевич
85
+ expected: Yizhakevych
86
+ - source: Кадиївка
87
+ expected: Kadyivka
88
+ - source: Мар'їне
89
+ expected: Marine
90
+ - source: Йосипівка
91
+ expected: Yosypivka
92
+ - source: Стрий
93
+ expected: Stryi
94
+ - source: Олексій
95
+ expected: Oleksii
96
+ - source: Київ
97
+ expected: Kyiv
98
+ - source: Коваленко
99
+ expected: Kovalenko
100
+ - source: Лебедин
101
+ expected: Lebedyn
102
+ - source: Леонід
103
+ expected: Leonid
104
+ - source: Миколаїв
105
+ expected: Mykolaiv
106
+ - source: Маринич
107
+ expected: Marynych
108
+ - source: Ніжин
109
+ expected: Nizhyn
110
+ - source: Наталія
111
+ expected: Nataliia
112
+ - source: Одеса
113
+ expected: Odesa
114
+ - source: Онищенко
115
+ expected: Onyshchenko
116
+ - source: Полтава
117
+ expected: Poltava
118
+ - source: Петро
119
+ expected: Petro
120
+ - source: Решетилівка
121
+ expected: Reshetylivka
122
+ - source: Рибчинський
123
+ expected: Rybchynskyi
124
+ - source: Суми
125
+ expected: Sumy
126
+ - source: Соломія
127
+ expected: Solomiia
128
+ - source: Тернопіль
129
+ expected: Ternopil
130
+ - source: Троць
131
+ expected: Trots
132
+ - source: Ужгород
133
+ expected: Uzhhorod
134
+ - source: Уляна
135
+ expected: Uliana
136
+ - source: Фастів
137
+ expected: Fastiv
138
+ - source: Філіпчук
139
+ expected: Filipchuk
140
+ - source: Харків
141
+ expected: Kharkiv
142
+ - source: Христина
143
+ expected: Khrystyna
144
+ - source: Біла Церква
145
+ expected: Bila Tserkva
146
+ - source: Стеценко
147
+ expected: Stetsenko
148
+ - source: Чернівці
149
+ expected: Chernivtsi
150
+ - source: Шевченко
151
+ expected: Shevchenko
152
+ - source: Шостка
153
+ expected: Shostka
154
+ - source: Кишеньки
155
+ expected: Kyshenky
156
+ - source: Щербухи
157
+ expected: Shcherbukhy
158
+ - source: Гоща
159
+ expected: Hoshcha
160
+ - source: Гаращенко
161
+ expected: Harashchenko
162
+ - source: Яготин
163
+ expected: Yahotyn
164
+ - source: Ярошенко
165
+ expected: Yaroshenko
166
+ - source: Костянтин
167
+ expected: Kostiantyn
168
+ - source: Знам'янка
169
+ expected: Znamianka
170
+ - source: Феодосія
171
+ expected: Feodosiia
172
+ - source: Згорани
173
+ expected: Zghorany
174
+ - source: Розгон
175
+ expected: Rozghon
176
+
177
+ map:
178
+ inherit: ua-ukr-Cyrl-Latn-1996
179
+
180
+ rules:
181
+ - pattern: \u0027
182
+ result: ""
183
+ - pattern: \u2019
184
+ result: ""
185
+
186
+ characters:
187
+ "\u0429": 'Shch' # Щ
188
+ "\u0449": 'shch' # щ
189
+ "\u044c": '' # Ь ->
190
+ "\u042c": '' # ь ->
191
+ "\u0027": '' # ' ->
192
+ "\u2019": '' # ’ ->