interscript 0.1.1 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +250 -17
- data/bin/interscript +38 -17
- data/bin/setup +8 -0
- data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
- data/lib/g2pwrapper.py +34 -0
- data/lib/interscript-opal.rb +2 -0
- data/lib/interscript.rb +138 -20
- data/lib/interscript/command.rb +28 -0
- data/lib/interscript/fs.rb +71 -0
- data/lib/interscript/mapping.rb +142 -0
- data/lib/interscript/opal.rb +27 -0
- data/lib/interscript/opal/maps.js.erb +10 -0
- data/lib/interscript/opal_map_translate.rb +12 -0
- data/lib/interscript/version.rb +1 -1
- data/lib/model-7 +0 -0
- data/lib/tha-pt-b-7 +0 -0
- data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
- data/maps/alalc-amh-Ethi-Latn-1997.yaml +509 -0
- data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
- data/maps/alalc-ara-Arab-Latn-1997.yaml +1283 -0
- data/maps/alalc-asm-Deva-Latn-1997.yaml +159 -0
- data/maps/alalc-aze-Cyrl-Latn-1997.yaml +141 -0
- data/maps/alalc-bel-Cyrl-Latn-1997.yaml +125 -0
- data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
- data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
- data/maps/alalc-ell-Grek-Latn-1997.yaml +624 -0
- data/maps/alalc-ell-Grek-Latn-2010.yaml +627 -0
- data/maps/alalc-hin-Deva-Latn-2020.yaml +159 -0
- data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
- data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
- data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
- data/maps/alalc-mar-Deva-Latn-1997.yaml +170 -0
- data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
- data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
- data/maps/alalc-pan-Deva-Latn-1997.yaml +237 -0
- data/maps/alalc-rus-Cyrl-Latn-1997.yaml +221 -0
- data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
- data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
- data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
- data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
- data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
- data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
- data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +174 -0
- data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +169 -0
- data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
- data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
- data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
- data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
- data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
- data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +528 -0
- data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +592 -0
- data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +108 -0
- data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
- data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +184 -0
- data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +285 -0
- data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
- data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +38 -0
- data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +701 -0
- data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +19 -0
- data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
- data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
- data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
- data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
- data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
- data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
- data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
- data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
- data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +200 -0
- data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +92 -0
- data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +314 -0
- data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
- data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +162 -0
- data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
- data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
- data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
- data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
- data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
- data/maps/bis-gjr-Gujr-Latn-13194-1991.yaml +166 -0
- data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
- data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
- data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
- data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
- data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
- data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
- data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
- data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
- data/maps/dos-nep-Deva-Latn-1997.yaml +33 -0
- data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
- data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
- data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
- data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
- data/maps/ggg-kat-Geor-Latn-2002.yaml +88 -0
- data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
- data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
- data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +186 -0
- data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
- data/maps/icao-bel-Cyrl-Latn-9303.yaml +136 -0
- data/maps/icao-bul-Cyrl-Latn-9303.yaml +118 -0
- data/maps/icao-heb-Hebr-Latn-9303.yaml +151 -0
- data/maps/icao-mkd-Cyrl-Latn-9303.yaml +117 -0
- data/maps/icao-per-Arab-Latn-9303.yaml +103 -0
- data/maps/icao-rus-Cyrl-Latn-9303.yaml +117 -0
- data/maps/icao-srp-Cyrl-Latn-9303.yaml +117 -0
- data/maps/icao-ukr-Cyrl-Latn-9303.yaml +119 -0
- data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
- data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +609 -0
- data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +40 -0
- data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
- data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +271 -0
- data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
- data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
- data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
- data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
- data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
- data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
- data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
- data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
- data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
- data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
- data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
- data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
- data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
- data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
- data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
- data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
- data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
- data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
- data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
- data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
- data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
- data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
- data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
- data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
- data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
- data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
- data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
- data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
- data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
- data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
- data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
- data/maps/sac-zho-Hans-Latn-1979.yaml +24759 -0
- data/maps/ses-ara-Arab-Latn-1930.yaml +279 -0
- data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
- data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
- data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
- data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
- data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
- data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
- data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
- data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
- data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
- data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
- data/maps/un-mon-Mong-Latn-2013.yaml +99 -0
- data/maps/un-nep-Deva-Latn-1972.yaml +163 -0
- data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
- data/maps/un-ukr-Cyrl-Latn-1998.yaml +30 -0
- data/maps/ungegn-amh-Ethi-Latn-2016.yaml +575 -0
- data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
- data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
- data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
- data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
- data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
- data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
- data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
- data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
- data/spec/interscript/mapping_spec.rb +42 -0
- data/spec/interscript_spec.rb +26 -0
- data/spec/spec_helper.rb +3 -0
- metadata +298 -18
@@ -0,0 +1,279 @@
|
|
1
|
+
---
|
2
|
+
authority_id: ungegn
|
3
|
+
id: 1930
|
4
|
+
language: ara
|
5
|
+
source_script: Arab
|
6
|
+
destination_script: Latn
|
7
|
+
name: ROMANIZATION OF ARABIC -- UNGEGN 2017 System
|
8
|
+
url: http://www.eki.ee/wgrs/rom1_ar.pdf
|
9
|
+
creation_date: 1930
|
10
|
+
confirmation date: 2018-06
|
11
|
+
description: |
|
12
|
+
The current United Nations recommended romanization
|
13
|
+
system was approved in 2017 (resolution XI/3), based on
|
14
|
+
the system adopted by Arabic experts at the conference
|
15
|
+
held in Beirut in 2007, the Unified Arabic
|
16
|
+
Transliteration System, taking into account the
|
17
|
+
practical amendments and corrections carried out and
|
18
|
+
agreed upon by the representatives of the Arabic-
|
19
|
+
speaking countries at the Fourth Arab Conference on
|
20
|
+
Geographical Names, held in Beirut in 2008, and some
|
21
|
+
clarifications and amendments agreed in Riyadh in 20171.
|
22
|
+
Previously, the United Nations had approved a
|
23
|
+
romanization system in 1972 (resolution II/8), based on the
|
24
|
+
system adopted by Arabic experts at the conference
|
25
|
+
held at Beirut in 1971 with the practical amendments carried out
|
26
|
+
and agreed upon by the representatives of the Arabic-speaking
|
27
|
+
countries at their conference. The table was published in volume
|
28
|
+
II of the conference report.
|
29
|
+
In UN resolution XI/3 it is specifically stated that the
|
30
|
+
system was recommended for the “romanization of the
|
31
|
+
geographical names within those Arabic-speaking countries
|
32
|
+
where this system is officially adopted”. There is
|
33
|
+
evidence of its partial implementation in Jordan, Oman and
|
34
|
+
Saudi Arabia. The UNGEGN Working Group on Romanization
|
35
|
+
Systems intends to continue monitoring the UN system’s
|
36
|
+
implementation across Arabic-speaking countries.
|
37
|
+
In some countries there exist local romanization schemes
|
38
|
+
or practices. The geographical names of Algeria, Djibouti,
|
39
|
+
Mauritania, Morocco and Tunisia are generally rendered in
|
40
|
+
the traditional manner which conforms to the principles of
|
41
|
+
the French orthography.
|
42
|
+
The previous UN-approved system is still found in
|
43
|
+
considerable international usage.
|
44
|
+
Arabic is written from right to left. The Arabic script
|
45
|
+
usually omits vowel points and diacritical marks from
|
46
|
+
writing which makes it difficult to obtain uniform results
|
47
|
+
in the romanization of Arabic. It is essential to identify
|
48
|
+
correctly the words which appear in any particular name
|
49
|
+
and to know the standard Arabic-script spelling including
|
50
|
+
the relevant vowels. One must also take into account
|
51
|
+
dialectal and idiosyncratic deviations. The romanization
|
52
|
+
is generally reversible though there may be some ambiguous
|
53
|
+
letter sequences (dh, kh, sh, th) which may also point to
|
54
|
+
combinations of Arabic characters in addition to the
|
55
|
+
respective single characters.
|
56
|
+
notes:
|
57
|
+
- |
|
58
|
+
The Survey of Egypt System (SES) of romanization has the following correspondences with
|
59
|
+
the UN system:
|
60
|
+
á = a # ـَى fatha followed by ى which is ا not ي
|
61
|
+
ā = â (a) # ـَا fatha followed by alef // آ
|
62
|
+
-ah (ة- = (a # ة ta' marboota at the end of a sentence
|
63
|
+
aw = ô (au) # ـَوْ
|
64
|
+
ay = ei (ai) # ـَيْ
|
65
|
+
ḏ = ḍ # ض
|
66
|
+
dh = dh (z) # ذ
|
67
|
+
d͟h = ẓ (d) # ظ
|
68
|
+
ẖ = ḥ # ح
|
69
|
+
ī = î
|
70
|
+
j = g (j)
|
71
|
+
q = q (k)
|
72
|
+
s = s (c)
|
73
|
+
s̱ = ṣ
|
74
|
+
ṯ = ṭ
|
75
|
+
th = th (t)
|
76
|
+
ū = û
|
77
|
+
‘ = ‛
|
78
|
+
- |
|
79
|
+
The variants in parentheses are used depending on pronunciation and tradition. Not all the
|
80
|
+
variations have been given above. The article is always written el- (El-Kafr el-Qadîm, Sharm
|
81
|
+
el-Sheikh).
|
82
|
+
tests:
|
83
|
+
|
84
|
+
# Examples taken from:
|
85
|
+
# https://unstats.un.org/unsd/geoinfo/geonames/
|
86
|
+
|
87
|
+
- source: شَرم الشَيْخ
|
88
|
+
expected: Sharm el-Sheikh
|
89
|
+
|
90
|
+
- source: الكَفر القَدِيم
|
91
|
+
expected: El-Kafr el-Qadîm
|
92
|
+
map:
|
93
|
+
inherit: "un-ara-Arab-Latn-2017"
|
94
|
+
postrules:
|
95
|
+
- pattern : ' El-' # الص
|
96
|
+
result: ' el-'
|
97
|
+
|
98
|
+
characters:
|
99
|
+
|
100
|
+
|
101
|
+
# special pointed letters
|
102
|
+
'\u0639\u064e' : '‛a' # عَ
|
103
|
+
'\u0639\u0650' : '‛i' # عِ
|
104
|
+
'\u0639\u064f' : '‛û' # عُ
|
105
|
+
# handle MacOS regex difference
|
106
|
+
'\u0639\u064f\u0648' : '‛û' # عُو damma followed by و
|
107
|
+
'\u0650\u064a' : 'î' # ـِي kasra followed by ي
|
108
|
+
'\u0650\u064a\u0651\u064e' : 'îy' # ـِيَّ
|
109
|
+
'\u064f\u0648' : 'û' # ـُو damma followed by و
|
110
|
+
'\u064e\u0627' : # ـَا fatha followed by ا
|
111
|
+
- 'â'
|
112
|
+
- 'a'
|
113
|
+
'\u064e\u0649' : 'a' # ـَى fatha followed by ى which is ا not ي
|
114
|
+
'\u064e\u0648\u0652' : # ـَوْ
|
115
|
+
- 'ô'
|
116
|
+
- 'au'
|
117
|
+
'\u064e\u064a\u0652' : # ـَيْ
|
118
|
+
- 'ei'
|
119
|
+
- 'ai'
|
120
|
+
'\u0622' : # آ
|
121
|
+
- 'â'
|
122
|
+
- 'a'
|
123
|
+
|
124
|
+
# ta' marboota in iso-233-1984 is all the same `a`
|
125
|
+
'\u0629$' : 'a'
|
126
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'a'
|
127
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'a'
|
128
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'a'
|
129
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'a'
|
130
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'a'
|
131
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'a'
|
132
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'a'
|
133
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'a'
|
134
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'a'
|
135
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'a'
|
136
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'a'
|
137
|
+
'(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'a'
|
138
|
+
|
139
|
+
|
140
|
+
# Sun letters
|
141
|
+
'\b\u0627\u0644\u062a' : 'el-t' # الت
|
142
|
+
'\b\u0627\u0644\u062b' : # الث
|
143
|
+
- 'el-th'
|
144
|
+
- 'el-t'
|
145
|
+
'\b\u0627\u0644\u062f' : 'el-d' # الد
|
146
|
+
'\b\u0627\u0644\u0630' : # الذ
|
147
|
+
- 'el-dh'
|
148
|
+
- 'el-z'
|
149
|
+
'\b\u0627\u0644\u0631' : 'el-r' # الر
|
150
|
+
'\b\u0627\u0644\u0632' : 'el-z' # الز
|
151
|
+
'\b\u0627\u0644\u0633' : # الس
|
152
|
+
- 'el-s'
|
153
|
+
- 'el-c'
|
154
|
+
'\b\u0627\u0644\u0634' : 'el-sh' # الش
|
155
|
+
'\b\u0627\u0644\u0635' : 'el-ṣ' # الص
|
156
|
+
'\b\u0627\u0644\u0636' : 'el-ḍ' # الض
|
157
|
+
'\b\u0627\u0644\u0637' : 'el-ṭ' # الط
|
158
|
+
'\b\u0627\u0644\u0638' : # الظ
|
159
|
+
- 'el-ẓ'
|
160
|
+
- 'el-d'
|
161
|
+
'\b\u0627\u0644\u0644' : 'el-l' # الل
|
162
|
+
'\b\u0627\u0644\u0646' : 'el-n' # الن
|
163
|
+
|
164
|
+
|
165
|
+
# shadda
|
166
|
+
'\u062b\u0651' : # ث
|
167
|
+
- 'thth'
|
168
|
+
- 'tt'
|
169
|
+
'\u062c\u0651' : # ج
|
170
|
+
- 'gg'
|
171
|
+
- 'jj'
|
172
|
+
'\u062d\u0651' : 'ḥḥ' # ح
|
173
|
+
'\u062e\u0651' : 'khkh' # خ
|
174
|
+
|
175
|
+
'\u0633\u0651' : # س
|
176
|
+
- 'ss'
|
177
|
+
- 'cc'
|
178
|
+
'\u0635\u0651' : 'ṣṣ' # ص
|
179
|
+
'\u0636\u0651' : 'ḍḍ' # ض
|
180
|
+
'\u0637\u0651' : 'ṭṭ' # ط
|
181
|
+
'\u0638\u0651' : # ظ
|
182
|
+
- 'ẓẓ'
|
183
|
+
- 'dd'
|
184
|
+
'\u0642\u0651' : # ق
|
185
|
+
- 'qq'
|
186
|
+
- 'kk'
|
187
|
+
|
188
|
+
'\b\u0627\u0644' : 'el-' # ال
|
189
|
+
|
190
|
+
# normal letters
|
191
|
+
'\u062c' : # ج
|
192
|
+
- 'g'
|
193
|
+
- 'j'
|
194
|
+
'\ufe9f' : # ﺟ
|
195
|
+
- 'g'
|
196
|
+
- 'j'
|
197
|
+
'\ufea0' : # ﺠ
|
198
|
+
- 'g'
|
199
|
+
- 'j'
|
200
|
+
'\ufe9e' : # ﺞ
|
201
|
+
- 'g'
|
202
|
+
- 'j'
|
203
|
+
|
204
|
+
'\u062d' : 'ḥ' # ح
|
205
|
+
'\ufea3' : 'ḥ' # ﺣ
|
206
|
+
'\ufea4' : 'ḥ' # ﺤ
|
207
|
+
'\ufea2' : 'ḥ' # ﺢ
|
208
|
+
|
209
|
+
'\u062e' : 'kh' # خ
|
210
|
+
'\ufea7' : 'kh' # ﺧ
|
211
|
+
'\ufea8' : 'kh' # ﺨ
|
212
|
+
'\ufea6' : 'kh' # ﺦ
|
213
|
+
|
214
|
+
'\u0630' : # ذ
|
215
|
+
- 'dh'
|
216
|
+
- 'z'
|
217
|
+
'\ufeac' : # ﺬ
|
218
|
+
- 'dh'
|
219
|
+
- 'z'
|
220
|
+
|
221
|
+
|
222
|
+
'\u0633' : # س
|
223
|
+
- 's'
|
224
|
+
- 'c'
|
225
|
+
'\ufeb3' : # ﺳ
|
226
|
+
- 's'
|
227
|
+
- 'c'
|
228
|
+
'\ufeb4' : # ﺴ
|
229
|
+
- 's'
|
230
|
+
- 'c'
|
231
|
+
'\ufeb2' : # ﺲ
|
232
|
+
- 's'
|
233
|
+
- 'c'
|
234
|
+
|
235
|
+
'\u0635' : 'ṣ' # ص
|
236
|
+
'\ufebb' : 'ṣ' # ﺻ
|
237
|
+
'\ufebc' : 'ṣ' # ﺼ
|
238
|
+
'\ufeba' : 'ṣ' # ﺺ
|
239
|
+
|
240
|
+
'\u0636' : 'ḍ' # ض
|
241
|
+
'\ufebf' : 'ḍ' # ﺿ
|
242
|
+
'\ufec0' : 'ḍ' # ﻀ
|
243
|
+
'\ufebe' : 'ḍ' # ﺾ
|
244
|
+
|
245
|
+
'\u0637' : 'ṭ' # ط
|
246
|
+
'\ufec3' : 'ṭ' # ﻃ
|
247
|
+
'\ufec4' : 'ṭ' # ﻄ
|
248
|
+
'\ufec2' : 'ṭ' # ﻂ
|
249
|
+
|
250
|
+
'\u0639' : '‛' # ع
|
251
|
+
'\ufecb' : '‛' # ﻋ
|
252
|
+
'\ufecc' : '‛' # ﻌ
|
253
|
+
'\ufeca' : '‛' # ﻊ
|
254
|
+
|
255
|
+
'\u0638' : # ظ
|
256
|
+
- 'ẓ'
|
257
|
+
- 'd'
|
258
|
+
'\ufec7' : # ظ
|
259
|
+
- 'ẓ'
|
260
|
+
- 'd'
|
261
|
+
'\ufec8' : # ظ
|
262
|
+
- 'ẓ'
|
263
|
+
- 'd'
|
264
|
+
'\ufec6' : # ظ
|
265
|
+
- 'ẓ'
|
266
|
+
- 'd'
|
267
|
+
|
268
|
+
'\u0642' : # ق
|
269
|
+
- 'q'
|
270
|
+
- 'k'
|
271
|
+
'\ufed7' : # ﻗ
|
272
|
+
- 'q'
|
273
|
+
- 'k'
|
274
|
+
'\ufed8' : # ﻘ
|
275
|
+
- 'q'
|
276
|
+
- 'k'
|
277
|
+
'\ufed6' : # ﻖ
|
278
|
+
- 'q'
|
279
|
+
- 'k'
|
@@ -0,0 +1,222 @@
|
|
1
|
+
---
|
2
|
+
authority_id: stategeocadastre
|
3
|
+
id: 1993
|
4
|
+
language: ukr
|
5
|
+
source_script: Cyrl
|
6
|
+
destination_script: Latn
|
7
|
+
name: PROVISIONAL RULES OF REPRODUCING LETTERS OF THE UKRAINIAN ALPHABET WITH LATIN (ENGLISH) CHARACTERS
|
8
|
+
url: https://unstats.un.org/unsd/geoinfo/UNGEGN/docs/17th-gegn-docs/17th_gegn_WP73.pdf
|
9
|
+
creation_date: 1993
|
10
|
+
description: |
|
11
|
+
These Rules are intended for Romanized transliteration of Ukrainian
|
12
|
+
geographic names in international cartographic editions.
|
13
|
+
|
14
|
+
Geographic names of Russia, Byelorussia, Bulgaria and other states
|
15
|
+
using the Cyrillic alphabet are transliterated according to rules
|
16
|
+
accepted in those states.
|
17
|
+
|
18
|
+
These Rules come into effect from the moment of their approval by
|
19
|
+
the Main Administration of Geodesy, Cartography and Cadastre and
|
20
|
+
will be effective until the introduction of a State standard of
|
21
|
+
Ukraine regulating the Romanized transliteration of the Ukrainian
|
22
|
+
alphabet.
|
23
|
+
|
24
|
+
notes:
|
25
|
+
- No apostrophe (’) is used in transliteration, the combination "ьо" is transliterated as "io"
|
26
|
+
- Use of capitals in Latin version of Ukrainian geographic names correspond to the Ukrainian spelling
|
27
|
+
- Generics geographical terms standing before or after a name in full or abbreviated form are transliterated
|
28
|
+
- Romanized versions of complex and compound Ukrainian toponyms (one word, hyphenated or separate words) will follow the Ukrainian spelling
|
29
|
+
- In indexes of Romanized geographical names entries must be arranged in the order of the Latin (English) alphabet
|
30
|
+
- Geographic names of Russia, Byelorussia, Bulgaria and other states using the Cyrillic alphabet are transliterated according to rules accepted in those states.
|
31
|
+
- "Ed: There seems to be a mistake in the source document. 'ц' should be replaced with ts instead 'tz'."
|
32
|
+
|
33
|
+
tests:
|
34
|
+
- source: Кам’янка # note[1]
|
35
|
+
expected: Kamianka
|
36
|
+
- source: Сьомаки # note[1]
|
37
|
+
expected: Siomaky
|
38
|
+
- source: Усть-Чорна # note[2]
|
39
|
+
expected: Ust’-Chorna
|
40
|
+
- source: Чорне море # note[2]
|
41
|
+
expected: Chorne more
|
42
|
+
- source: оз. Сиваш # note[3]
|
43
|
+
expected: oz. Syvash
|
44
|
+
- source: Кримський канал # note[3]
|
45
|
+
expected: Kryms’kyi kanal # ! Example had typo in original document "Krums’kyi kanal"
|
46
|
+
- source: Гола Пристань
|
47
|
+
expected: Hola Prystan’
|
48
|
+
- source: Корсунь Шевченківський
|
49
|
+
expected: Korsun’ Shevchenkivs’kyi
|
50
|
+
- source: Верхньодніпровськ
|
51
|
+
expected: Verkhniodniprovs’k
|
52
|
+
- source: Варва
|
53
|
+
expected: Varva
|
54
|
+
- source: Броди
|
55
|
+
expected: Brody
|
56
|
+
- source: Верховина
|
57
|
+
expected: Verkhovyna
|
58
|
+
- source: Глухів
|
59
|
+
expected: Hlukhiv
|
60
|
+
- source: Великий
|
61
|
+
expected: Velykyi
|
62
|
+
- source: Ґрунь(гора)
|
63
|
+
expected: Grun’(hora)
|
64
|
+
- source: Димер
|
65
|
+
expected: Dymer
|
66
|
+
- source: Срібне
|
67
|
+
expected: Sribne
|
68
|
+
- source: Євпаторія
|
69
|
+
expected: Yevpatoriia
|
70
|
+
- source: Єнакієве
|
71
|
+
expected: Yenakiieve
|
72
|
+
- source: Жолква
|
73
|
+
expected: Zholkva
|
74
|
+
- source: Затока
|
75
|
+
expected: Zatoka
|
76
|
+
- source: Житомир
|
77
|
+
expected: Zhytomyr
|
78
|
+
- source: Інгул
|
79
|
+
expected: Inhul
|
80
|
+
- source: Зміїв
|
81
|
+
expected: Zmiïv
|
82
|
+
- source: Йосипівка
|
83
|
+
expected: Yosypivka
|
84
|
+
- source: Стрий
|
85
|
+
expected: Stryi
|
86
|
+
- source: Калуш
|
87
|
+
expected: Kalush
|
88
|
+
- source: Лубни
|
89
|
+
expected: Lubny
|
90
|
+
- source: Миколаїв
|
91
|
+
expected: Mykolaïv
|
92
|
+
- source: Ніжин
|
93
|
+
expected: Nizhyn
|
94
|
+
- source: Острог
|
95
|
+
expected: Ostroh
|
96
|
+
- source: Печеніги
|
97
|
+
expected: Pechenihy
|
98
|
+
- source: Рівне
|
99
|
+
expected: Rivne
|
100
|
+
- source: Сарата
|
101
|
+
expected: Sarata
|
102
|
+
- source: Тячів
|
103
|
+
expected: Tiachiv
|
104
|
+
- source: Узин
|
105
|
+
expected: Uzyn
|
106
|
+
- source: Форос
|
107
|
+
expected: Foros
|
108
|
+
- source: Харків
|
109
|
+
expected: Kharkiv
|
110
|
+
- source: Цюрупінськ
|
111
|
+
expected: Tsiurupins’k
|
112
|
+
- source: Черемош
|
113
|
+
expected: Cheremosh
|
114
|
+
- source: Шацьк
|
115
|
+
expected: Shats’k
|
116
|
+
- source: Щорс
|
117
|
+
expected: Shchors
|
118
|
+
- source: Хмельницький
|
119
|
+
expected: Khmel’nyts’kyi # ! Example had typo in original document "Khmel’nyts’ky"
|
120
|
+
- source: Юрівка
|
121
|
+
expected: Yurivka
|
122
|
+
- source: Любеч
|
123
|
+
expected: Liubech
|
124
|
+
- source: Ялта
|
125
|
+
expected: Yalta
|
126
|
+
- source: Ясіня
|
127
|
+
expected: Yasinia
|
128
|
+
|
129
|
+
|
130
|
+
map:
|
131
|
+
rules:
|
132
|
+
- pattern: (?<!\b\u2019)\b\u0404 # Є in initial position -> Ye
|
133
|
+
result: Ye
|
134
|
+
- pattern: (?<!\b\u2019)\b\u0454 # є in initial position -> ye
|
135
|
+
result: ye
|
136
|
+
- pattern: (?<!\b\u2019)\b\u0419 # Й in initial position -> Y
|
137
|
+
result: "Y"
|
138
|
+
- pattern: (?<!\b\u2019)\b\u0419 # й in initial position -> y
|
139
|
+
result: "y"
|
140
|
+
- pattern: (?<!\b\u2019)\b\u042e # Ю in initial position -> Yu
|
141
|
+
result: Yu
|
142
|
+
- pattern: (?<!\b\u2019)\b\u044e # ю in initial position -> yu
|
143
|
+
result: yu
|
144
|
+
- pattern: (?<!\b\u2019)\b\u042f # Я in initial position -> Ya
|
145
|
+
result: Ya
|
146
|
+
- pattern: (?<!\b\u2019)\b\u044f # я in initial position -> ya
|
147
|
+
result: ya
|
148
|
+
# note[1]
|
149
|
+
- pattern: \b\u2019\b # remove ’
|
150
|
+
result: ""
|
151
|
+
- pattern: \u042c\u041e
|
152
|
+
result: "IO"
|
153
|
+
- pattern: \u044c\u043e
|
154
|
+
result: "io"
|
155
|
+
|
156
|
+
characters:
|
157
|
+
"\u0410": "A" # А
|
158
|
+
"\u0411": "B" # Б
|
159
|
+
"\u0412": "V" # В
|
160
|
+
"\u0413": "H" # Г
|
161
|
+
"\u0490": "G" # Ґ
|
162
|
+
"\u0414": "D" # Д
|
163
|
+
"\u0415": "E" # Е
|
164
|
+
"\u0404": "Ie" # Є
|
165
|
+
"\u0416": "Zh" # Ж
|
166
|
+
"\u0417": "Z" # З
|
167
|
+
"\u0418": "Y" # И
|
168
|
+
"\u0406": "I" # І
|
169
|
+
"\u0407": "I\u0308" # Ї
|
170
|
+
"\u0419": "I" # Й
|
171
|
+
"\u041a": "K" # К
|
172
|
+
"\u041b": "L" # Л
|
173
|
+
"\u041c": "M" # М
|
174
|
+
"\u041d": "N" # Н
|
175
|
+
"\u041e": "O" # О
|
176
|
+
"\u041f": "P" # П
|
177
|
+
"\u0420": "R" # Р
|
178
|
+
"\u0421": "S" # С
|
179
|
+
"\u0422": "T" # Т
|
180
|
+
"\u0423": "U" # У
|
181
|
+
"\u0424": "F" # Ф
|
182
|
+
"\u0425": "Kh" # Х
|
183
|
+
"\u0426": "Ts" # Ц note[7]
|
184
|
+
"\u0427": "Ch" # Ч
|
185
|
+
"\u0428": "Sh" # Ш
|
186
|
+
"\u0429": "Shch" # Щ
|
187
|
+
"\u042c": "\u2019" # Ь
|
188
|
+
"\u042e": "Iu" # Ю
|
189
|
+
"\u042f": "Ia" # Я
|
190
|
+
"\u0430": "a" # а
|
191
|
+
"\u0431": "b" # б
|
192
|
+
"\u0432": "v" # в
|
193
|
+
"\u0433": "h" # г
|
194
|
+
"\u0491": "g" # ґ
|
195
|
+
"\u0434": "d" # д
|
196
|
+
"\u0435": "e" # е
|
197
|
+
"\u0454": "ie" # є
|
198
|
+
"\u0436": "zh" # ж
|
199
|
+
"\u0437": "z" # з
|
200
|
+
"\u0438": "y" # и
|
201
|
+
"\u0456": "i" # і
|
202
|
+
"\u0457": "i" # ї
|
203
|
+
"\u0439": "i" # й
|
204
|
+
"\u043a": "k" # к
|
205
|
+
"\u043b": "l" # л
|
206
|
+
"\u043c": "m" # м
|
207
|
+
"\u043d": "n" # н
|
208
|
+
"\u043e": "o" # о
|
209
|
+
"\u043f": "p" # п
|
210
|
+
"\u0440": "r" # р
|
211
|
+
"\u0441": "s" # с
|
212
|
+
"\u0442": "t" # т
|
213
|
+
"\u0443": "u" # у
|
214
|
+
"\u0444": "f" # ф
|
215
|
+
"\u0445": "kh" # х
|
216
|
+
"\u0446": "ts" # ц note[7]
|
217
|
+
"\u0447": "ch" # ч
|
218
|
+
"\u0448": "sh" # ш
|
219
|
+
"\u0449": "shch" # щ
|
220
|
+
"\u044e": "iu" # ю
|
221
|
+
"\u044f": "ia" # я
|
222
|
+
"\u044c": "\u2019" # ь
|