File: Russian-Latin-BGN.xml

package info (click to toggle)
python-babel 2.6.0%2Bdfsg.1-1%2Bdeb10u1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 164,640 kB
  • sloc: xml: 1,848,178; python: 11,849; makefile: 213; sh: 44
file content (314 lines) | stat: -rw-r--r-- 11,829 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
<!--
Copyright © 1991-2013 Unicode, Inc.
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
For terms of use, see http://www.unicode.org/copyright.html
-->
<supplementalData>
	<version number="$Revision: 13787 $"/>
	<transforms>
		<transform source="ru" target="ru_Latn" variant="BGN" direction="forward" draft="contributed" alias="Russian-Latin/BGN ru-Latn-t-ru-m0-bgn">
			<tRule><![CDATA[
# BGN/PCGN 1947 System
#
# The BGN/PCGN system for Russian was adopted by the BGN in 1944 and
# by the PCGN in 1947 for use in romanizing names written in the
# Russian Cyrillic alphabet.
#
# The Russian Alphabet as defined by the BGN (Page 93):
#     АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
#     абвгдеёжзийклмнопрстуфхцчшщъыьэюя
#
# Originally prepared by Michael Everson everson@evertype.com
# Fixed by Frank Yung-Fong Tang ftang@google.com
#
# Test Data from http://en.wikipedia.org/wiki/BGN/PCGN_romanization_of_Russian

########################################################################
# MINIMAL FILTER: Russian-Latin

::[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя];

::NFC;

########################################################################
# Define All Transformation Variables
########################################################################

$prime = ʹ ;
$doublePrime = ʺ ;
$wordBoundary = [^[:L:][:M:][:N:]] ;
$upperVowels = [АЕЁЭИОУЫЮЯ] ;
$lowerVowels = [аеёэиоуыюя] ;
$vowels = [$upperVowels $lowerVowels] ;
$upperConsonants = [[:Uppercase:]-$vowels] ;
$lowerConsonants = [[:Lowercase:]-$vowels] ;
$consonants = [$upperConsonants $lowerConsonants] ;
$upper = [:Uppercase:];
$lower = [:Lowercase:];


########################################################################
# Rules moved to front to avoid masking
########################################################################

$lowerVowels { ы → ·y ;
$upperVowels { [Ыы] } $lower → ·y ;
$upperVowels { [Ыы] } → ·Y ;


[$consonants - [Йй]]{Э → ·E ;
[$consonants - [Йй]]{э → ·e ;

[$upperVowels [ЙЪЬ]] { Е } $upper → YE ; # CYRILLIC CAPITAL LETTER IE
[$upperVowels [ЙЪЬ]] { Е → Ye ; # CYRILLIC CAPITAL LETTER IE
[$upperVowels $lowerVowels [ЙйЪъЬь]] { е → ye ; # CYRILLIC SMALL LETTER IE
[$upperVowels [ЙЪЬ]] { Ё } $upper → YË ; # CYRILLIC CAPITAL LETTER IO
[$upperVowels [ЙЪЬ]] { Ё → Yë ; # CYRILLIC CAPITAL LETTER IO
[$upperVowels $lowerVowels [ЙйЪъЬь]] { ё → yë ; # CYRILLIC SMALL LETTER IO

# Since in the above rule we look at the Cyrillic context before the E/Ё/ё,
# we have to transform these in a separate pass before we change the vowels.
# The ::Null forces a separate pass.

::Null;


########################################################################
# Start of Alphabetic Transformations
########################################################################

А → A ; # CYRILLIC CAPITAL LETTER A
а → a ; # CYRILLIC SMALL LETTER A
Б → B ; # CYRILLIC CAPITAL LETTER BE
б → b ; # CYRILLIC SMALL LETTER BE
В → V ; # CYRILLIC CAPITAL LETTER VE
в → v ; # CYRILLIC SMALL LETTER VE
Г → G ; # CYRILLIC CAPITAL LETTER GHE
г → g ; # CYRILLIC SMALL LETTER GHE
Д → D ; # CYRILLIC CAPITAL LETTER DE
д → d ; # CYRILLIC SMALL LETTER DE


########################################################################
# BGN Page 94 Rule 1:
# # The character e should be romanized ye
# initially, after the vowel # characters a, e, ё, и, о, у, ы, э, ю,
# and я, and after й, ъ, and ь.
# In all other instances, it should
# be romanized e.
########################################################################

# BUG(ftang)- the following two lines said BEFORE the vowels, instead of AFTER
# Е}[$upperVowels [ЙЪЬ]] → YE ; # CYRILLIC CAPITAL LETTER IE
# Е}[$lowerVowels [йъь]] → Ye ; # CYRILLIC CAPITAL LETTER IE

$wordBoundary{Е} $upper → YE ; # CYRILLIC CAPITAL LETTER IE
$wordBoundary{Е → Ye ; # CYRILLIC CAPITAL LETTER IE
Е → E ; # CYRILLIC CAPITAL LETTER IE
#
# BUG(ftang)- the following line said BEFORE the vowels, instead of AFTER
# е}[$upperVowels $lowerVowels [ЙйЪъЬь]] → ye ; # CYRILLIC SMALL LETTER IE

$wordBoundary{е → ye ; # CYRILLIC SMALL LETTER IE
е → e ; # CYRILLIC SMALL LETTER IE


########################################################################
# End of Rule 1
########################################################################

########################################################################
# BGN Page 94 Rule 2:
#
# The character ё is not considered a separate character of the
# Russian alphabet and the dieresis is generally not shown. When the
# dieresis is shown, the character should be romanized yë initially,
# after the vowel characters a, e, ё, и, о, у, ы, э, ю, and я, and
# after й, ъ, and ь, In all other instances, it should be romanized
# ё. When the dieresis is not shown, the character may still be
# romanized in the preceding manner or, alternatively, in accordance
# with note 1.

########################################################################
# BUG(ftang)- the following two lines said BEFORE the vowels, instead of AFTER
# Ё}[$upperVowels [ЙЪЬ]] → YË ; # CYRILLIC CAPITAL LETTER IO
# Ё}[$lowerVowels [йъь]] → Yë ; # CYRILLIC CAPITAL LETTER IO

$wordBoundary {Ё} [·]? $upper → YË ; # CYRILLIC CAPITAL LETTER IO
$wordBoundary {Ё} [·]? $lower → Yë ; # CYRILLIC CAPITAL LETTER IO
Ё → Ë ; # CYRILLIC CAPITAL LETTER IO

# BUG(ftang)- the following line said BEFORE the vowels, instead of AFTER
# ё}[$upperVowels $lowerVowels [ЙйЪъЬь]] → yë ; # CYRILLIC SMALL LETTER IO

$wordBoundary{ё → yë ; # CYRILLIC SMALL LETTER IO
ё → ë ; # CYRILLIC SMALL LETTER IO


########################################################################
# End of Rule 2
########################################################################

Ж} $lower → Zh ; # CYRILLIC CAPITAL LETTER ZHE
Ж → ZH ; # CYRILLIC CAPITAL LETTER ZHE
ж → zh ; # CYRILLIC SMALL LETTER ZHE


########################################################################
# BGN Page 94 Rule 3.4
# э after any consonant character except
# й becomes ·е
########################################################################

З → Z ; # CYRILLIC CAPITAL LETTER ZE
з → z ; # CYRILLIC SMALL LETTER ZE

# BUG(ftang) The following two lines said those consonant becomes ·е
# [$consonants - [Йй]]}Э → ·Е ;
# [$consonants - [Йй]]}э → ·е ;

########################################################################
# End of Rule 3.4
########################################################################

И → I ; # CYRILLIC CAPITAL LETTER I
и → i ; # CYRILLIC SMALL LETTER I


########################################################################
# BGN Page 94 Rule 3:
#
# Unusual Russian character sequences occurring primarily in
# non-Russian-language names may be romanized as shown below in order
# to provide differentiation from regularly-occurring digraphs and
# character sequences.
#
# BGN Page 94 Rule 3.1
# й before а, у, ы, or э becomes у·
########################################################################

Й}[АаУуЫыЭэ] → Y· ; # CYRILLIC CAPITAL LETTER I
й}[АаУуЫыЭэ] → y· ; # CYRILLIC SMALL LETTER I

Й → Y ; # CYRILLIC CAPITAL LETTER I
й → y ; # CYRILLIC SMALL LETTER I


########################################################################
# End Rule 3.1
########################################################################

К → K ; # CYRILLIC CAPITAL LETTER KA
к → k ; # CYRILLIC SMALL LETTER KA
Л → L ; # CYRILLIC CAPITAL LETTER EL
л → l ; # CYRILLIC SMALL LETTER EL
М → M ; # CYRILLIC CAPITAL LETTER EM
м → m ; # CYRILLIC SMALL LETTER EM
Н → N ; # CYRILLIC CAPITAL LETTER EN
н → n ; # CYRILLIC SMALL LETTER EN
О → O ; # CYRILLIC CAPITAL LETTER O
о → o ; # CYRILLIC SMALL LETTER O
П → P ; # CYRILLIC CAPITAL LETTER PE
п → p ; # CYRILLIC SMALL LETTER PE
Р → R ; # CYRILLIC CAPITAL LETTER ER
р → r ; # CYRILLIC SMALL LETTER ER
С → S ; # CYRILLIC CAPITAL LETTER ES
с → s ; # CYRILLIC SMALL LETTER ES


########################################################################
# BGN Page 94 Rule 3.5
# тс becomes t·s
########################################################################

ТС → T·S ; # CYRILLIC CAPITAL LETTER TE
Тс → T·s ; # CYRILLIC CAPITAL LETTER TE
тс → t·s ; # CYRILLIC SMALL LETTER TE

Т → T ; # CYRILLIC CAPITAL LETTER TE
т → t ; # CYRILLIC SMALL LETTER TE


########################################################################
# End Rule 3.5
########################################################################

У → U ; # CYRILLIC CAPITAL LETTER U
у → u ; # CYRILLIC SMALL LETTER U
Ф → F ; # CYRILLIC CAPITAL LETTER EF
ф → f ; # CYRILLIC SMALL LETTER EF
Х} $lower → Kh ; # CYRILLIC CAPITAL LETTER HA
Х → KH ; # CYRILLIC CAPITAL LETTER HA
х → kh ; # CYRILLIC SMALL LETTER HA
Ц} $lower → Ts ; # CYRILLIC CAPITAL LETTER TSE
Ц → TS ; # CYRILLIC CAPITAL LETTER TSE
ц → ts ; # CYRILLIC SMALL LETTER TSE
Ч} $lower → Ch ; # CYRILLIC CAPITAL LETTER CHE
Ч → CH ; # CYRILLIC CAPITAL LETTER CHE
ч → ch ; # CYRILLIC SMALL LETTER CHE


########################################################################
# BGN Page 94 Rule 3.6
# шч becomes sh·ch
########################################################################

ШЧ → SH·CH ; # CYRILLIC CAPITAL LETTER SHA
Шч → Sh·ch ; # CYRILLIC CAPITAL LETTER SHA
шч → sh·ch ; # CYRILLIC SMALL LETTER SHA

Ш} $lower → Sh ; # CYRILLIC CAPITAL LETTER SHA
Ш → SH ; # CYRILLIC CAPITAL LETTER SHA
ш → sh ; # CYRILLIC SMALL LETTER SHA
Щ} $lower → Shch ; # CYRILLIC CAPITAL LETTER SHCHA
Щ → SHCH ; # CYRILLIC CAPITAL LETTER SHCHA
щ → shch ; # CYRILLIC SMALL LETTER SHCHA


########################################################################
# End Rule 3.6
########################################################################

Ъ → $doublePrime ; # CYRILLIC CAPITAL LETTER HARD SIGN
ъ → $doublePrime ; # CYRILLIC SMALL LETTER HARD SIGN


########################################################################
# BGN Page 94 Rule 3.2
# ы before а, у, ы, or э becomes у·
#
# BGN Page 94 Rule 3.3
# ы after any vowel character becomes ·у
########################################################################
#
# BUG(ftang) the following line said the vowels will change
# $vowels}Ы → ·Y ; # CYRILLIC CAPITAL LETTER I
# $vowels}ы → ·y ; # CYRILLIC CAPITAL LETTER I

Ы}[АаУуЫыЭэ] → Y· ; # CYRILLIC CAPITAL LETTER YERU
ы}[ауыэ] → y· ; # CYRILLIC SMALL LETTER YERU

Ы → Y ; # CYRILLIC CAPITAL LETTER YERU
ы → y ; # CYRILLIC SMALL LETTER YERU


########################################################################
# End Rule 3.2 and 3.3
########################################################################

Ь → $prime ; # CYRILLIC CAPITAL LETTER SOFT SIGN
ь → $prime ; # CYRILLIC SMALL LETTER SOFT SIGN
Э → E ; # CYRILLIC CAPITAL LETTER E
э → e ; # CYRILLIC SMALL LETTER E
Ю} $lower → Yu ; # CYRILLIC CAPITAL LETTER YU
Ю → YU ; # CYRILLIC CAPITAL LETTER YU
ю → yu ; # CYRILLIC SMALL LETTER YU
Я} $lower → Ya ; # CYRILLIC CAPITAL LETTER YA
Я → YA ; # CYRILLIC CAPITAL LETTER YA
я → ya ; # CYRILLIC SMALL LETTER YA
			]]></tRule>
		</transform>
	</transforms>
</supplementalData>