interscript 0.1.1 → 0.1.6

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 (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/bin/interscript +38 -17
  4. data/bin/setup +8 -0
  5. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  6. data/lib/g2pwrapper.py +34 -0
  7. data/lib/interscript-opal.rb +2 -0
  8. data/lib/interscript.rb +138 -20
  9. data/lib/interscript/command.rb +28 -0
  10. data/lib/interscript/fs.rb +71 -0
  11. data/lib/interscript/mapping.rb +142 -0
  12. data/lib/interscript/opal.rb +27 -0
  13. data/lib/interscript/opal/maps.js.erb +10 -0
  14. data/lib/interscript/opal_map_translate.rb +12 -0
  15. data/lib/interscript/version.rb +1 -1
  16. data/lib/model-7 +0 -0
  17. data/lib/tha-pt-b-7 +0 -0
  18. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
  19. data/maps/alalc-amh-Ethi-Latn-1997.yaml +509 -0
  20. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  21. data/maps/alalc-ara-Arab-Latn-1997.yaml +1283 -0
  22. data/maps/alalc-asm-Deva-Latn-1997.yaml +159 -0
  23. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +141 -0
  24. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +125 -0
  25. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  26. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
  27. data/maps/alalc-ell-Grek-Latn-1997.yaml +624 -0
  28. data/maps/alalc-ell-Grek-Latn-2010.yaml +627 -0
  29. data/maps/alalc-hin-Deva-Latn-2020.yaml +159 -0
  30. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  31. data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
  32. data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
  33. data/maps/alalc-mar-Deva-Latn-1997.yaml +170 -0
  34. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  35. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  36. data/maps/alalc-pan-Deva-Latn-1997.yaml +237 -0
  37. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +221 -0
  38. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  39. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
  40. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  41. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
  42. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  43. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  44. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +174 -0
  45. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +169 -0
  46. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  47. data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
  48. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  49. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  50. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  51. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +528 -0
  52. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +592 -0
  53. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +108 -0
  54. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  55. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +184 -0
  56. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +285 -0
  57. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
  58. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +38 -0
  59. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +701 -0
  60. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +19 -0
  61. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  62. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
  63. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  64. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  65. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  66. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  67. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
  68. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  69. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +200 -0
  70. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +92 -0
  71. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +314 -0
  72. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
  73. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +162 -0
  74. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
  75. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  76. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  77. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  78. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  79. data/maps/bis-gjr-Gujr-Latn-13194-1991.yaml +166 -0
  80. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  81. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  82. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  83. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  84. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  85. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  86. data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
  87. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  88. data/maps/dos-nep-Deva-Latn-1997.yaml +33 -0
  89. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  90. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  91. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  92. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  93. data/maps/ggg-kat-Geor-Latn-2002.yaml +88 -0
  94. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  95. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  96. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +186 -0
  97. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  98. data/maps/icao-bel-Cyrl-Latn-9303.yaml +136 -0
  99. data/maps/icao-bul-Cyrl-Latn-9303.yaml +118 -0
  100. data/maps/icao-heb-Hebr-Latn-9303.yaml +151 -0
  101. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +117 -0
  102. data/maps/icao-per-Arab-Latn-9303.yaml +103 -0
  103. data/maps/icao-rus-Cyrl-Latn-9303.yaml +117 -0
  104. data/maps/icao-srp-Cyrl-Latn-9303.yaml +117 -0
  105. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +119 -0
  106. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  107. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +609 -0
  108. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +40 -0
  109. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
  110. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +271 -0
  111. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  112. data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
  113. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  114. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  115. data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
  116. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  117. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  118. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  119. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  120. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  121. data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
  122. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  123. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  124. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  125. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  126. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  127. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  128. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  129. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  130. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  131. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  132. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  133. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  134. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  135. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  136. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  137. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  138. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  139. data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
  140. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  141. data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
  142. data/maps/sac-zho-Hans-Latn-1979.yaml +24759 -0
  143. data/maps/ses-ara-Arab-Latn-1930.yaml +279 -0
  144. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  145. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
  146. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  147. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  148. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  149. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  150. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  151. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  152. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  153. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
  154. data/maps/un-mon-Mong-Latn-2013.yaml +99 -0
  155. data/maps/un-nep-Deva-Latn-1972.yaml +163 -0
  156. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  157. data/maps/un-ukr-Cyrl-Latn-1998.yaml +30 -0
  158. data/maps/ungegn-amh-Ethi-Latn-2016.yaml +575 -0
  159. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  160. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  161. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  162. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  163. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  164. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  165. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  166. data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
  167. data/spec/interscript/mapping_spec.rb +42 -0
  168. data/spec/interscript_spec.rb +26 -0
  169. data/spec/spec_helper.rb +3 -0
  170. metadata +298 -18
@@ -0,0 +1,87 @@
1
+ ---
2
+ authority_id: odni
3
+ id: 2015
4
+ language: kat
5
+ source_script: Geor
6
+ destination_script: Latn
7
+ name: Office of the Director Of National Intelligence Georgian Personal Names 2015, ICS 630-01 Annex E
8
+ # url:
9
+ source: ICS 630-01, Annex E
10
+ creation_date: 2015
11
+ confirmation_date: 2015
12
+ description: |
13
+ This system is the Intelligence Community standard for the transliteration of Georgian names that
14
+ will be applied to all final written reports and products for IC consumers. It is not intended to
15
+ eliminate variations of a name that can contribute forensic information. Rather, it is to provide an
16
+ IC standard Romanized (English) transliteration from Georgian that can then be linked to forensic
17
+ information in ways that will help identify the referent of the name.
18
+
19
+ notes:
20
+
21
+ tests:
22
+
23
+ - source: ბაყაყი
24
+ expected: baqaqi
25
+
26
+ - source: ძროხა
27
+ expected: dzrokha
28
+
29
+ - source: ჰაერი
30
+ expected: haeri
31
+
32
+ - source: ჟოლო
33
+ expected: zholo
34
+
35
+ - source: ჯართი
36
+ expected: jarti
37
+
38
+ - source: ღრმაღელე
39
+ expected: ghrmaghele
40
+
41
+ - source: ზვიად გამსახურდია
42
+ expected: zviad gamsakhurdia
43
+
44
+ - source: ედუარდ შევარდნაძე
45
+ expected: eduard shevardnadze
46
+
47
+ - source: მიხეილ სააკაშვილი
48
+ expected: mikheil saakashvili
49
+
50
+ - source: გიორგი მარგველაშვილი
51
+ expected: giorgi margvelashvili
52
+
53
+ map:
54
+ characters:
55
+ '\u10d0' : 'a' # ა
56
+ '\u10d1' : 'b' # ბ
57
+ '\u10d2' : 'g' # გ
58
+ '\u10d3' : 'd' # დ
59
+ '\u10d4' : 'e' # ე
60
+ '\u10d5' : 'v' # ვ
61
+ '\u10d6' : 'z' # ზ
62
+ '\u10d7' : 't' # თ
63
+ '\u10d8' : 'i' # ი
64
+ '\u10d9' : 'k' # კ
65
+ '\u10da' : 'l' # ლ
66
+ '\u10db' : 'm' # მ
67
+ '\u10dc' : 'n' # ნ
68
+ '\u10dd' : 'o' # ო
69
+ '\u10de' : 'p' # პ
70
+ '\u10df' : 'zh' # ჟ
71
+ '\u10e0' : 'r' # რ
72
+ '\u10e1' : 's' # ს
73
+ '\u10e2' : 't' # ტ
74
+ '\u10e3' : 'u' # უ
75
+ '\u10e4' : 'p' # ფ
76
+ '\u10e5' : 'k' # ქ
77
+ '\u10e6' : 'gh' # ღ
78
+ '\u10e7' : 'q' # ყ
79
+ '\u10e8' : 'sh' # შ
80
+ '\u10e9' : 'ch' # ჩ
81
+ '\u10ea' : 'ts' # ც
82
+ '\u10eb' : 'dz' # ძ
83
+ '\u10ec' : 'ts' # წ
84
+ '\u10ed' : 'ch' # ჭ
85
+ '\u10ee' : 'kh' # ხ
86
+ '\u10ef' : 'j' # ჯ
87
+ '\u10f0' : 'h' # ჰ
@@ -0,0 +1,148 @@
1
+ ---
2
+ authority_id: odni
3
+ id: 2015
4
+ language: kaz
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Standards for the transliteration of kazakh personal names in written reports and products
8
+ source: ICS-630-01 Annex Q
9
+ creation_date: 2015
10
+ confirmation_date: 2015
11
+ description: |
12
+ This system is the Intelligence Community standard for the transliteration of Kazakh person names
13
+ that will be applied to all final written reports and products for IC consumers. It is not
14
+ intended to eliminate variations of a name that can contribute forensic information. Rather, it is
15
+ to provide an IC standard Romanized (English) transliteration from Kazakh that can then be linked
16
+ to forensic information in ways that will help identify the referent of the name.
17
+
18
+ In cases where an individual’s name has already been transliterated in a variant spelling, the IC
19
+ Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the
20
+ first usage. In addition, if the original Cyrillic-script spelling is known, that spelling should
21
+ also appear in parentheses following the name, if possible, following best practices of the
22
+ issuing organization and taking into consideration information system capabilities. For example:
23
+ Bekzat Sattarkhanov (also seen as Bekzat Sattarkanov, Бекзат Саттарханов). This convention is
24
+ designed to ensure that vital forensic information is not lost.
25
+
26
+ For names of persons who are known to not be part of the Kazakh-speaking community, use the
27
+ relevant IC transliteration standard for names from that language (e.g., Yitzhak). A translator’s
28
+ note may be used to clarify the known origin of the person. Spell names of individuals from
29
+ languages that are written in Roman letters as they are spelled in those languages (e.g.,
30
+ George Clooney, Jorge Garcia, Georges Pompidou).
31
+
32
+ In the case of active senior government officials in the on-line CIA World Factbook and the on-
33
+ line directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given
34
+ in these on-line reference works should be used in place of the IC Standard. For any individual
35
+ who has at one time been listed in the Factbook or Chiefs of State directory but who no longer
36
+ appears in those resources (i.e. is no longer a government official), the IC Standard spelling
37
+ should appear first, with the spelling, if known, as it previously appeared in those resources
38
+ listed within parentheses at the first usage.
39
+
40
+ The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
+ readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
+ (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use of
43
+ diacritics. However, within the context of a report, where additional information about the
44
+ individual is provided, the referent will be clearly identified. This system will be used in
45
+ conjunction with on-line tools, name dictionaries, and lists containing conventional spellings of
46
+ names of well-known individuals.
47
+
48
+ notes:
49
+ - Transliterate double digraphs as a single digraph, i.e. шш -> sh, not shsh
50
+ - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters,
51
+ (e.g. 's' followed by 'h').
52
+ - The Cyrillic ъ and ь are not transliterated, but instead are left out of the transliteration.
53
+
54
+ tests:
55
+ - source: Бекзат Саттарханов
56
+ expected: Bekzat Sattarkhanov
57
+
58
+ map:
59
+ rules:
60
+ # note[1]
61
+ - pattern: "(?i)(\u0492|\u0401|\u0416|\u04A2|\u0425|\u0426|\u0427|\u0428|\u0429|\u042E|\u042F)\\1(?-i)"
62
+ result: "\\1"
63
+ # note[3]
64
+ - pattern: \u044A|\u044C
65
+ result: ""
66
+
67
+ characters:
68
+ '\u0410': 'A' # А
69
+ '\u04D8': 'A' # Ә
70
+ '\u0411': 'B' # Б
71
+ '\u0412': 'V' # В
72
+ '\u0413': 'G' # Г
73
+ '\u0492': 'Gh' # Ғ
74
+ '\u0414': 'D' # Д
75
+ '\u0415': 'E' # Е
76
+ '\u0401': 'Yo' # Ё
77
+ '\u0416': 'Zh' # Ж
78
+ '\u0417': 'Z' # З
79
+ '\u0418': 'I' # И
80
+ '\u0406': 'I' # І
81
+ '\u0419': 'Y' # Й
82
+ '\u041A': 'K' # К
83
+ '\u049A': 'Q' # Қ
84
+ '\u041B': 'L' # Л
85
+ '\u041C': 'M' # М
86
+ '\u041D': 'N' # Н
87
+ '\u04A2': 'Ng' # Ң
88
+ '\u041E': 'O' # О
89
+ '\u04E8': 'O' # Ө
90
+ '\u041F': 'P' # П
91
+ '\u0420': 'R' # Р
92
+ '\u0421': 'S' # С
93
+ '\u0422': 'T' # Т
94
+ '\u0423': 'U' # У
95
+ '\u04AE': 'U' # Ү
96
+ '\u04B0': 'U' # Ұ
97
+ '\u0424': 'F' # Ф
98
+ '\u0425': 'Kh' # Х
99
+ '\u04BA': 'H' # Һ
100
+ '\u0426': 'Ts' # Ц
101
+ '\u0427': 'Ch' # Ч
102
+ '\u0428': 'Sh' # Ш
103
+ '\u0429': 'Shch' # Щ
104
+ '\u042B': 'Y' # Ы
105
+ '\u042D': 'E' # Э
106
+ '\u042E': 'Yu' # Ю
107
+ '\u042F': 'Ya' # Я
108
+
109
+ '\u0430': 'a' # а
110
+ '\u04D9': 'a' # ә
111
+ '\u0431': 'b' # б
112
+ '\u0432': 'v' # в
113
+ '\u0433': 'g' # г
114
+ '\u0493': 'gh' # ғ
115
+ '\u0434': 'd' # д
116
+ '\u0435': 'e' # e
117
+ '\u0451': 'yo' # ё
118
+ '\u0436': 'zh' # ж
119
+ '\u0437': 'z' # з
120
+ '\u0438': 'i' # и
121
+ '\u0456': 'i' # і
122
+ '\u0439': 'y' # й
123
+ '\u043A': 'k' # к
124
+ '\u049B': 'q' # қ
125
+ '\u043B': 'l' # л
126
+ '\u043C': 'm' # м
127
+ '\u043D': 'n' # н
128
+ '\u04A3': 'ng' # ң
129
+ '\u043E': 'o' # о
130
+ '\u04E9': 'o' # ө
131
+ '\u043F': 'p' # п
132
+ '\u0440': 'r' # р
133
+ '\u0441': 's' # с
134
+ '\u0442': 't' # т
135
+ '\u0443': 'u' # у
136
+ '\u04AF': 'u' # ү
137
+ '\u04B1': 'u' # ұ
138
+ '\u0444': 'f' # ф
139
+ '\u0445': 'kh' # х
140
+ '\u04BB': 'h' # һ
141
+ '\u0446': 'ts' # ц
142
+ '\u0447': 'ch' # ч
143
+ '\u0448': 'sh' # ш
144
+ '\u0449': 'shch' # щ
145
+ '\u044B': 'y' # ы
146
+ '\u044D': 'e' # э
147
+ '\u044E': 'yu' # ю
148
+ '\u044F': 'ya' # я
@@ -0,0 +1,136 @@
1
+ ---
2
+ authority_id: odni
3
+ id: 2015
4
+ language: kir
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Standards for the transliteration of kyrgyz personal names in written reports and products
8
+ source: ICS-630-01 Annex R
9
+ creation_date: 2015
10
+ confirmation_date: 2015
11
+ description: |
12
+ This system is the Intelligence Community standard for the transliteration of Kyrgyz person names
13
+ that will be applied to all final written reports and products for IC consumers. It is not
14
+ intended to eliminate variations of a name that can contribute forensic information. Rather, it is
15
+ to provide an IC standard Romanized (English) transliteration from Kyrgyz that can then be linked
16
+ to forensic information in ways that will help identify the referent of the name.
17
+
18
+ In cases where an individual’s name has already been transliterated in a variant spelling, the IC
19
+ Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the
20
+ first usage. In addition, if the original Cyrillic-script spelling is known, that spelling should
21
+ also appear in parentheses following the name, if possible, following best practices of the
22
+ issuing organization and taking into consideration information system capabilities. For example:
23
+ Guljigit Kalykov (also seen as Guljigit Kalikov, Гульжигит Калыков). This convention is designed
24
+ to ensure that vital forensic information is not lost.
25
+
26
+ For names of persons who are known to not be part of the Kyrgyz-speaking community, use the
27
+ relevant IC transliteration standard for names from that language (e.g., Yitzhak). A translator’s
28
+ note may be used to clarify the known origin of the person. Spell names of individuals from
29
+ languages that are written in Roman letters as they are spelled in those languages (e.g.,
30
+ George Clooney, Jorge Garcia, Georges Pompidou).
31
+
32
+ In the case of active senior government officials in the on-line CIA World Factbook and the on-
33
+ line directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given
34
+ in these on-line reference works should be used in place of the IC Standard. For any individual
35
+ who has at one time been listed in the Factbook or Chiefs of State directory but who no longer
36
+ appears in those resources (i.e. is no longer a government official), the IC Standard spelling
37
+ should appear first, with the spelling, if known, as it previously appeared in those resources
38
+ listed within parentheses at the first usage.
39
+
40
+ The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
+ readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
+ (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use of
43
+ diacritics. However, within the context of a report, where additional information about the
44
+ individual is provided, the referent will be clearly identified. This system will be used in
45
+ conjunction with on-line tools, name dictionaries, and lists containing conventional spellings
46
+ of names of well-known individuals.
47
+
48
+ notes:
49
+ - Transliterate double digraphs as a single digraph, i.e. шш -> sh, not shsh
50
+ - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters,
51
+ (e.g. 's' followed by 'h').
52
+ - The Cyrillic ъ and ь are not transliterated, but instead are left out of the transliteration.
53
+
54
+ tests:
55
+ - source: Гульжигит Калыков
56
+ expected: Guljigit Kalykov
57
+
58
+ map:
59
+ rules:
60
+ # note[1]
61
+ - pattern: "(?i)(\u0401|\u04A2|\u0425|\u0426|\u0427|\u0428|\u0429|\u042E|\u042F)\\1(?-i)"
62
+ result: "\\1"
63
+ # note[3]
64
+ - pattern: \u044A|\u044C
65
+ result: ""
66
+
67
+ characters:
68
+ '\u0410': 'A' # А
69
+ '\u0411': 'B' # Б
70
+ '\u0412': 'V' # В
71
+ '\u0413': 'G' # Г
72
+ '\u0414': 'D' # Д
73
+ '\u0415': 'E' # Е
74
+ '\u0401': 'Yo' # Ё
75
+ '\u0416': 'J' # Ж
76
+ '\u0417': 'Z' # З
77
+ '\u0418': 'I' # И
78
+ '\u0419': 'Y' # Й
79
+ '\u041A': 'K' # К
80
+ '\u041B': 'L' # Л
81
+ '\u041C': 'M' # М
82
+ '\u041D': 'N' # Н
83
+ '\u04A2': 'Ng' # Ң
84
+ '\u041E': 'O' # О
85
+ '\u04E8': 'O' # Ө
86
+ '\u041F': 'P' # П
87
+ '\u0420': 'R' # Р
88
+ '\u0421': 'S' # С
89
+ '\u0422': 'T' # Т
90
+ '\u0423': 'U' # У
91
+ '\u04AE': 'U' # Ү
92
+ '\u0424': 'F' # Ф
93
+ '\u0425': 'Kh' # Х
94
+ '\u0426': 'Ts' # Ц
95
+ '\u0427': 'Ch' # Ч
96
+ '\u0428': 'Sh' # Ш
97
+ '\u0429': 'Shch' # Щ
98
+ '\u042B': 'Y' # Ы
99
+ '\u042D': 'E' # Э
100
+ '\u042E': 'Yu' # Ю
101
+ '\u042F': 'Ya' # Я
102
+
103
+ '\u0430': 'a' # а
104
+ '\u0431': 'b' # б
105
+ '\u0432': 'v' # в
106
+ '\u0433': 'g' # г
107
+ '\u0434': 'd' # д
108
+ '\u0435': 'e' # e
109
+ '\u0451': 'yo' # ё
110
+ '\u0436': 'j' # ж
111
+ '\u0437': 'z' # з
112
+ '\u0438': 'i' # и
113
+ '\u0439': 'y' # й
114
+ '\u043A': 'k' # к
115
+ '\u043B': 'l' # л
116
+ '\u043C': 'm' # м
117
+ '\u043D': 'n' # н
118
+ '\u04A3': 'ng' # ң
119
+ '\u043E': 'o' # о
120
+ '\u04E9': 'o' # ө
121
+ '\u043F': 'p' # п
122
+ '\u0440': 'r' # р
123
+ '\u0441': 's' # с
124
+ '\u0442': 't' # т
125
+ '\u0443': 'u' # у
126
+ '\u04AF': 'u' # ү
127
+ '\u0444': 'f' # ф
128
+ '\u0445': 'kh' # х
129
+ '\u0446': 'ts' # ц
130
+ '\u0447': 'ch' # ч
131
+ '\u0448': 'sh' # ш
132
+ '\u0449': 'shch' # щ
133
+ '\u044B': 'y' # ы
134
+ '\u044D': 'e' # э
135
+ '\u044E': 'yu' # ю
136
+ '\u044F': 'ya' # я
@@ -0,0 +1,122 @@
1
+ ---
2
+ authority_id: odni
3
+ id: 2015
4
+ language: mkd
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Standards for the transliteration of macedonian personal names in written reports and products
8
+ source: ICS-630-01 Annex H
9
+ creation_date: 2015
10
+ confirmation_date: 2015
11
+ description: |
12
+ This system is the Intelligence Community (IC) standard for the transliteration of Macedonian
13
+ names that will be applied to all final written reports and products for IC consumers. It is not
14
+ intended to eliminate variations of a name that can contribute forensic information. Rather, it is
15
+ to provide an IC standard Romanized (English) transliteration from Macedonian that can then be
16
+ linked to forensic information in ways that will help identify the referent of the name.
17
+
18
+ In cases where an individual’s name has already been transliterated in a variant spelling, the IC
19
+ Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the
20
+ first usage. In addition, if the original Cyrillic spelling is known, that spelling should also
21
+ appear in parentheses following the name, if possible, following best practices of the issuing
22
+ organization and taking into consideration information system capabilities. This convention is
23
+ designed to ensure that vital forensic information is not lost.
24
+
25
+ For names of persons who are known to not be part of the Macedonian-speaking community, use the
26
+ relevant IC transliteration standard for names from that language (e.g., Mikhail, Yitzhak).
27
+ A translator’s note may be used to clarify the known origin of the person. Spell names of
28
+ individuals from languages that are written in Roman letters as they are spelled in those
29
+ languages (e.g., George Clooney, Jorge Garcia, Georges Pompidou).
30
+
31
+ In the case of active senior government officials in the on-line CIA World Factbook and the on-
32
+ line directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given
33
+ in these on-line reference works should be used in place of the IC Standard. For any individual
34
+ who has at one time been listed in the Factbook or Chiefs of State directory but who no longer
35
+ appears in those resources (i.e. is no longer a government official), the IC Standard spelling
36
+ should appear first, with the spelling, if known, as it previously appeared in those resources
37
+ listed within parentheses at the first usage.
38
+
39
+ The primary goal is to produce a consistent Romanized transcription of names that is specifically
40
+ readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
41
+ (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use of
42
+ diacritics. However, within the context of a report, where additional information about the
43
+ individual is provided, the referent will be clearly identified. This system will be used in
44
+ conjunction with on-line tools, name dictionaries, and lists containing conventional spellings of
45
+ names of well-known individuals.
46
+
47
+ tests:
48
+ - source: Билјана
49
+ expected: Biljana
50
+ - source: Душко
51
+ expected: Dushko
52
+
53
+ map:
54
+ rules:
55
+ - pattern: \u0053 # S => Dz
56
+ result: Dz
57
+ - pattern: \u0073 # s => dz
58
+ result: dz
59
+
60
+ characters:
61
+ '\u0410': 'A' # А
62
+ '\u0411': 'B' # Б
63
+ '\u0412': 'V' # В
64
+ '\u0413': 'G' # Г
65
+ '\u0414': 'D' # Д
66
+ '\u0403': 'Gj' # Ѓ
67
+ '\u0415': 'E' # Е
68
+ '\u0416': 'Zh' # Ж
69
+ '\u0417': 'Z' # З
70
+ '\u0418': 'I' # И
71
+ '\u0408': 'J' # Ј
72
+ '\u041A': 'K' # К
73
+ '\u041B': 'L' # Л
74
+ '\u0409': 'Lj' # Љ
75
+ '\u041C': 'M' # М
76
+ '\u041D': 'N' # Н
77
+ '\u040A': Nj # Њ
78
+ '\u041E': 'O' # О
79
+ '\u041F': 'P' # П
80
+ '\u0420': 'R' # Р
81
+ '\u0421': 'S' # С
82
+ '\u0422': 'T' # Т
83
+ '\u040C': 'Kj' # Ќ
84
+ '\u0423': 'U' # У
85
+ '\u0424': 'F' # Ф
86
+ '\u0425': 'H' # Х
87
+ '\u0426': 'Ts' # Ц
88
+ '\u0427': 'Ch' # Ч
89
+ '\u040F': 'Dzh' # Џ
90
+ '\u0428': 'Sh' # Ш
91
+ '\u2019': '' # ’
92
+
93
+ '\u0430': 'a' # а
94
+ '\u0431': 'b' # б
95
+ '\u0432': 'v' # в
96
+ '\u0433': 'g' # г
97
+ '\u0434': 'd' # д
98
+ '\u0453': 'gj' # ѓ
99
+ '\u0435': 'e' # e
100
+ '\u0436': 'zh' # ж
101
+ '\u0437': 'z' # з
102
+ '\u0438': 'i' # и
103
+ '\u0458': 'j' # ј
104
+ '\u043A': 'k' # к
105
+ '\u043B': 'l' # л
106
+ '\u0459': 'lj' # љ
107
+ '\u043C': 'm' # м
108
+ '\u043D': 'n' # н
109
+ '\u045A': 'nj' # њ
110
+ '\u043E': 'o' # о
111
+ '\u043F': 'p' # п
112
+ '\u0440': 'r' # р
113
+ '\u0441': 's' # с
114
+ '\u0442': 't' # т
115
+ '\u045C': 'kj' # ќ
116
+ '\u0443': 'u' # у
117
+ '\u0444': 'f' # ф
118
+ '\u0445': 'h' # х
119
+ '\u0446': 'ts' # ц
120
+ '\u0447': 'ch' # ч
121
+ '\u045F': 'dzh' # џ
122
+ '\u0448': 'sh' # ш