1
2
3 package language
4
5
6 const CLDRVersion = "32"
7
8 const (
9 _de = 269
10 _en = 313
11 _fr = 350
12 _it = 505
13 _mo = 784
14 _no = 879
15 _nb = 839
16 _pt = 960
17 _sh = 1031
18 _mul = 806
19 _und = 0
20 )
21 const (
22 _001 = 1
23 _419 = 31
24 _BR = 65
25 _CA = 73
26 _ES = 111
27 _GB = 124
28 _MD = 189
29 _PT = 239
30 _UK = 307
31 _US = 310
32 _ZZ = 358
33 _XA = 324
34 _XC = 326
35 _XK = 334
36 )
37 const (
38 _Latn = 91
39 _Hani = 57
40 _Hans = 59
41 _Hant = 60
42 _Qaaa = 149
43 _Qaai = 157
44 _Qabx = 198
45 _Zinh = 255
46 _Zyyy = 260
47 _Zzzz = 261
48 )
49
50 var regionToGroups = []uint8{
51
52 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,
53 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
56 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,
57 0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,
58 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
59 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04,
60
61 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
62 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04,
64 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,
65 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,
66 0x08, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00,
67 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
69
70 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00,
71 0x00, 0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00,
72 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
73 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00,
76 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
77 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04,
78
79 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
80 0x01, 0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
81 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
84 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00,
85 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87
88 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
91 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
92 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
93 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04,
95 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00,
96
97 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 }
103
104 var paradigmLocales = [][3]uint16{
105 0: [3]uint16{0x139, 0x0, 0x7c},
106 1: [3]uint16{0x13e, 0x0, 0x1f},
107 2: [3]uint16{0x3c0, 0x41, 0xef},
108 }
109
110 type mutualIntelligibility struct {
111 want uint16
112 have uint16
113 distance uint8
114 oneway bool
115 }
116 type scriptIntelligibility struct {
117 wantLang uint16
118 haveLang uint16
119 wantScript uint8
120 haveScript uint8
121 distance uint8
122 }
123 type regionIntelligibility struct {
124 lang uint16
125 script uint8
126 group uint8
127 distance uint8
128 }
129
130
131
132
133 var matchLang = []mutualIntelligibility{
134 0: {want: 0x1d1, have: 0xb7, distance: 0x4, oneway: false},
135 1: {want: 0x407, have: 0xb7, distance: 0x4, oneway: false},
136 2: {want: 0x407, have: 0x1d1, distance: 0x4, oneway: false},
137 3: {want: 0x407, have: 0x432, distance: 0x4, oneway: false},
138 4: {want: 0x43a, have: 0x1, distance: 0x4, oneway: false},
139 5: {want: 0x1a3, have: 0x10d, distance: 0x4, oneway: true},
140 6: {want: 0x295, have: 0x10d, distance: 0x4, oneway: true},
141 7: {want: 0x101, have: 0x36f, distance: 0x8, oneway: false},
142 8: {want: 0x101, have: 0x347, distance: 0x8, oneway: false},
143 9: {want: 0x5, have: 0x3e2, distance: 0xa, oneway: true},
144 10: {want: 0xd, have: 0x139, distance: 0xa, oneway: true},
145 11: {want: 0x16, have: 0x367, distance: 0xa, oneway: true},
146 12: {want: 0x21, have: 0x139, distance: 0xa, oneway: true},
147 13: {want: 0x56, have: 0x13e, distance: 0xa, oneway: true},
148 14: {want: 0x58, have: 0x3e2, distance: 0xa, oneway: true},
149 15: {want: 0x71, have: 0x3e2, distance: 0xa, oneway: true},
150 16: {want: 0x75, have: 0x139, distance: 0xa, oneway: true},
151 17: {want: 0x82, have: 0x1be, distance: 0xa, oneway: true},
152 18: {want: 0xa5, have: 0x139, distance: 0xa, oneway: true},
153 19: {want: 0xb2, have: 0x15e, distance: 0xa, oneway: true},
154 20: {want: 0xdd, have: 0x153, distance: 0xa, oneway: true},
155 21: {want: 0xe5, have: 0x139, distance: 0xa, oneway: true},
156 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
157 23: {want: 0xf0, have: 0x15e, distance: 0xa, oneway: true},
158 24: {want: 0xf9, have: 0x15e, distance: 0xa, oneway: true},
159 25: {want: 0x100, have: 0x139, distance: 0xa, oneway: true},
160 26: {want: 0x130, have: 0x139, distance: 0xa, oneway: true},
161 27: {want: 0x13c, have: 0x139, distance: 0xa, oneway: true},
162 28: {want: 0x140, have: 0x151, distance: 0xa, oneway: true},
163 29: {want: 0x145, have: 0x13e, distance: 0xa, oneway: true},
164 30: {want: 0x158, have: 0x101, distance: 0xa, oneway: true},
165 31: {want: 0x16d, have: 0x367, distance: 0xa, oneway: true},
166 32: {want: 0x16e, have: 0x139, distance: 0xa, oneway: true},
167 33: {want: 0x16f, have: 0x139, distance: 0xa, oneway: true},
168 34: {want: 0x17e, have: 0x139, distance: 0xa, oneway: true},
169 35: {want: 0x190, have: 0x13e, distance: 0xa, oneway: true},
170 36: {want: 0x194, have: 0x13e, distance: 0xa, oneway: true},
171 37: {want: 0x1a4, have: 0x1be, distance: 0xa, oneway: true},
172 38: {want: 0x1b4, have: 0x139, distance: 0xa, oneway: true},
173 39: {want: 0x1b8, have: 0x139, distance: 0xa, oneway: true},
174 40: {want: 0x1d4, have: 0x15e, distance: 0xa, oneway: true},
175 41: {want: 0x1d7, have: 0x3e2, distance: 0xa, oneway: true},
176 42: {want: 0x1d9, have: 0x139, distance: 0xa, oneway: true},
177 43: {want: 0x1e7, have: 0x139, distance: 0xa, oneway: true},
178 44: {want: 0x1f8, have: 0x139, distance: 0xa, oneway: true},
179 45: {want: 0x20e, have: 0x1e1, distance: 0xa, oneway: true},
180 46: {want: 0x210, have: 0x139, distance: 0xa, oneway: true},
181 47: {want: 0x22d, have: 0x15e, distance: 0xa, oneway: true},
182 48: {want: 0x242, have: 0x3e2, distance: 0xa, oneway: true},
183 49: {want: 0x24a, have: 0x139, distance: 0xa, oneway: true},
184 50: {want: 0x251, have: 0x139, distance: 0xa, oneway: true},
185 51: {want: 0x265, have: 0x139, distance: 0xa, oneway: true},
186 52: {want: 0x274, have: 0x48a, distance: 0xa, oneway: true},
187 53: {want: 0x28a, have: 0x3e2, distance: 0xa, oneway: true},
188 54: {want: 0x28e, have: 0x1f9, distance: 0xa, oneway: true},
189 55: {want: 0x2a3, have: 0x139, distance: 0xa, oneway: true},
190 56: {want: 0x2b5, have: 0x15e, distance: 0xa, oneway: true},
191 57: {want: 0x2b8, have: 0x139, distance: 0xa, oneway: true},
192 58: {want: 0x2be, have: 0x139, distance: 0xa, oneway: true},
193 59: {want: 0x2c3, have: 0x15e, distance: 0xa, oneway: true},
194 60: {want: 0x2ed, have: 0x139, distance: 0xa, oneway: true},
195 61: {want: 0x2f1, have: 0x15e, distance: 0xa, oneway: true},
196 62: {want: 0x2fa, have: 0x139, distance: 0xa, oneway: true},
197 63: {want: 0x2ff, have: 0x7e, distance: 0xa, oneway: true},
198 64: {want: 0x304, have: 0x139, distance: 0xa, oneway: true},
199 65: {want: 0x30b, have: 0x3e2, distance: 0xa, oneway: true},
200 66: {want: 0x31b, have: 0x1be, distance: 0xa, oneway: true},
201 67: {want: 0x31f, have: 0x1e1, distance: 0xa, oneway: true},
202 68: {want: 0x320, have: 0x139, distance: 0xa, oneway: true},
203 69: {want: 0x331, have: 0x139, distance: 0xa, oneway: true},
204 70: {want: 0x351, have: 0x139, distance: 0xa, oneway: true},
205 71: {want: 0x36a, have: 0x347, distance: 0xa, oneway: false},
206 72: {want: 0x36a, have: 0x36f, distance: 0xa, oneway: true},
207 73: {want: 0x37a, have: 0x139, distance: 0xa, oneway: true},
208 74: {want: 0x387, have: 0x139, distance: 0xa, oneway: true},
209 75: {want: 0x389, have: 0x139, distance: 0xa, oneway: true},
210 76: {want: 0x38b, have: 0x15e, distance: 0xa, oneway: true},
211 77: {want: 0x390, have: 0x139, distance: 0xa, oneway: true},
212 78: {want: 0x395, have: 0x139, distance: 0xa, oneway: true},
213 79: {want: 0x39d, have: 0x139, distance: 0xa, oneway: true},
214 80: {want: 0x3a5, have: 0x139, distance: 0xa, oneway: true},
215 81: {want: 0x3be, have: 0x139, distance: 0xa, oneway: true},
216 82: {want: 0x3c4, have: 0x13e, distance: 0xa, oneway: true},
217 83: {want: 0x3d4, have: 0x10d, distance: 0xa, oneway: true},
218 84: {want: 0x3d9, have: 0x139, distance: 0xa, oneway: true},
219 85: {want: 0x3e5, have: 0x15e, distance: 0xa, oneway: true},
220 86: {want: 0x3e9, have: 0x1be, distance: 0xa, oneway: true},
221 87: {want: 0x3fa, have: 0x139, distance: 0xa, oneway: true},
222 88: {want: 0x40c, have: 0x139, distance: 0xa, oneway: true},
223 89: {want: 0x423, have: 0x139, distance: 0xa, oneway: true},
224 90: {want: 0x429, have: 0x139, distance: 0xa, oneway: true},
225 91: {want: 0x431, have: 0x139, distance: 0xa, oneway: true},
226 92: {want: 0x43b, have: 0x139, distance: 0xa, oneway: true},
227 93: {want: 0x43e, have: 0x1e1, distance: 0xa, oneway: true},
228 94: {want: 0x445, have: 0x139, distance: 0xa, oneway: true},
229 95: {want: 0x450, have: 0x139, distance: 0xa, oneway: true},
230 96: {want: 0x461, have: 0x139, distance: 0xa, oneway: true},
231 97: {want: 0x467, have: 0x3e2, distance: 0xa, oneway: true},
232 98: {want: 0x46f, have: 0x139, distance: 0xa, oneway: true},
233 99: {want: 0x476, have: 0x3e2, distance: 0xa, oneway: true},
234 100: {want: 0x3883, have: 0x139, distance: 0xa, oneway: true},
235 101: {want: 0x480, have: 0x139, distance: 0xa, oneway: true},
236 102: {want: 0x482, have: 0x139, distance: 0xa, oneway: true},
237 103: {want: 0x494, have: 0x3e2, distance: 0xa, oneway: true},
238 104: {want: 0x49d, have: 0x139, distance: 0xa, oneway: true},
239 105: {want: 0x4ac, have: 0x529, distance: 0xa, oneway: true},
240 106: {want: 0x4b4, have: 0x139, distance: 0xa, oneway: true},
241 107: {want: 0x4bc, have: 0x3e2, distance: 0xa, oneway: true},
242 108: {want: 0x4e5, have: 0x15e, distance: 0xa, oneway: true},
243 109: {want: 0x4f2, have: 0x139, distance: 0xa, oneway: true},
244 110: {want: 0x512, have: 0x139, distance: 0xa, oneway: true},
245 111: {want: 0x518, have: 0x139, distance: 0xa, oneway: true},
246 112: {want: 0x52f, have: 0x139, distance: 0xa, oneway: true},
247 }
248
249
250
251 var matchScript = []scriptIntelligibility{
252 0: {wantLang: 0x432, haveLang: 0x432, wantScript: 0x5b, haveScript: 0x20, distance: 0x5},
253 1: {wantLang: 0x432, haveLang: 0x432, wantScript: 0x20, haveScript: 0x5b, distance: 0x5},
254 2: {wantLang: 0x58, haveLang: 0x3e2, wantScript: 0x5b, haveScript: 0x20, distance: 0xa},
255 3: {wantLang: 0xa5, haveLang: 0x139, wantScript: 0xe, haveScript: 0x5b, distance: 0xa},
256 4: {wantLang: 0x1d7, haveLang: 0x3e2, wantScript: 0x8, haveScript: 0x20, distance: 0xa},
257 5: {wantLang: 0x210, haveLang: 0x139, wantScript: 0x2e, haveScript: 0x5b, distance: 0xa},
258 6: {wantLang: 0x24a, haveLang: 0x139, wantScript: 0x4f, haveScript: 0x5b, distance: 0xa},
259 7: {wantLang: 0x251, haveLang: 0x139, wantScript: 0x53, haveScript: 0x5b, distance: 0xa},
260 8: {wantLang: 0x2b8, haveLang: 0x139, wantScript: 0x58, haveScript: 0x5b, distance: 0xa},
261 9: {wantLang: 0x304, haveLang: 0x139, wantScript: 0x6f, haveScript: 0x5b, distance: 0xa},
262 10: {wantLang: 0x331, haveLang: 0x139, wantScript: 0x76, haveScript: 0x5b, distance: 0xa},
263 11: {wantLang: 0x351, haveLang: 0x139, wantScript: 0x22, haveScript: 0x5b, distance: 0xa},
264 12: {wantLang: 0x395, haveLang: 0x139, wantScript: 0x83, haveScript: 0x5b, distance: 0xa},
265 13: {wantLang: 0x39d, haveLang: 0x139, wantScript: 0x36, haveScript: 0x5b, distance: 0xa},
266 14: {wantLang: 0x3be, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5b, distance: 0xa},
267 15: {wantLang: 0x3fa, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5b, distance: 0xa},
268 16: {wantLang: 0x40c, haveLang: 0x139, wantScript: 0xd6, haveScript: 0x5b, distance: 0xa},
269 17: {wantLang: 0x450, haveLang: 0x139, wantScript: 0xe6, haveScript: 0x5b, distance: 0xa},
270 18: {wantLang: 0x461, haveLang: 0x139, wantScript: 0xe9, haveScript: 0x5b, distance: 0xa},
271 19: {wantLang: 0x46f, haveLang: 0x139, wantScript: 0x2c, haveScript: 0x5b, distance: 0xa},
272 20: {wantLang: 0x476, haveLang: 0x3e2, wantScript: 0x5b, haveScript: 0x20, distance: 0xa},
273 21: {wantLang: 0x4b4, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5b, distance: 0xa},
274 22: {wantLang: 0x4bc, haveLang: 0x3e2, wantScript: 0x5b, haveScript: 0x20, distance: 0xa},
275 23: {wantLang: 0x512, haveLang: 0x139, wantScript: 0x3e, haveScript: 0x5b, distance: 0xa},
276 24: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x3b, haveScript: 0x3c, distance: 0xf},
277 25: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x3c, haveScript: 0x3b, distance: 0x13},
278 }
279
280 var matchRegion = []regionIntelligibility{
281 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},
282 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},
283 2: {lang: 0x139, script: 0x0, group: 0x1, distance: 0x4},
284 3: {lang: 0x139, script: 0x0, group: 0x81, distance: 0x4},
285 4: {lang: 0x13e, script: 0x0, group: 0x3, distance: 0x4},
286 5: {lang: 0x13e, script: 0x0, group: 0x83, distance: 0x4},
287 6: {lang: 0x3c0, script: 0x0, group: 0x3, distance: 0x4},
288 7: {lang: 0x3c0, script: 0x0, group: 0x83, distance: 0x4},
289 8: {lang: 0x529, script: 0x3c, group: 0x2, distance: 0x4},
290 9: {lang: 0x529, script: 0x3c, group: 0x82, distance: 0x4},
291 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},
292 11: {lang: 0x139, script: 0x0, group: 0x80, distance: 0x5},
293 12: {lang: 0x13e, script: 0x0, group: 0x80, distance: 0x5},
294 13: {lang: 0x3c0, script: 0x0, group: 0x80, distance: 0x5},
295 14: {lang: 0x529, script: 0x3c, group: 0x80, distance: 0x5},
296 }
297
298
299
View as plain text