twitter_cldr 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. data/README.md +34 -18
  2. data/lib/twitter_cldr.rb +15 -21
  3. data/lib/twitter_cldr/core_ext.rb +2 -1
  4. data/lib/twitter_cldr/core_ext/array.rb +22 -0
  5. data/lib/twitter_cldr/core_ext/numbers/localized_number.rb +0 -1
  6. data/lib/twitter_cldr/core_ext/string.rb +10 -2
  7. data/lib/twitter_cldr/formatters/calendars/datetime_formatter.rb +4 -1
  8. data/lib/twitter_cldr/formatters/numbers/currency_formatter.rb +7 -2
  9. data/lib/twitter_cldr/formatters/numbers/decimal_formatter.rb +5 -1
  10. data/lib/twitter_cldr/formatters/numbers/number_formatter.rb +1 -1
  11. data/lib/twitter_cldr/formatters/numbers/percent_formatter.rb +5 -3
  12. data/lib/twitter_cldr/formatters/plurals/rules.rb +9 -5
  13. data/lib/twitter_cldr/normalizers/nfkd.rb +3 -1
  14. data/lib/twitter_cldr/shared.rb +2 -0
  15. data/lib/twitter_cldr/shared/calendar.rb +64 -0
  16. data/lib/twitter_cldr/shared/currencies.rb +6 -2
  17. data/lib/twitter_cldr/shared/languages.rb +10 -6
  18. data/lib/twitter_cldr/shared/numbers.rb +26 -0
  19. data/lib/twitter_cldr/shared/resources.rb +26 -9
  20. data/lib/twitter_cldr/shared/unicode_data.rb +26 -6
  21. data/lib/twitter_cldr/tokenizers/calendars/datetime_tokenizer.rb +5 -3
  22. data/lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb +1 -1
  23. data/lib/twitter_cldr/version.rb +1 -1
  24. data/resources/{ar → locales/ar}/calendars.yml +30 -33
  25. data/resources/{ar → locales/ar}/languages.yml +120 -118
  26. data/resources/{ar → locales/ar}/numbers.yml +8 -9
  27. data/resources/{ar → locales/ar}/plurals.yml +0 -0
  28. data/resources/{da → locales/da}/calendars.yml +24 -9
  29. data/resources/{da → locales/da}/languages.yml +14 -8
  30. data/resources/{da → locales/da}/numbers.yml +1 -2
  31. data/resources/{da → locales/da}/plurals.yml +0 -0
  32. data/resources/{de → locales/de}/calendars.yml +42 -8
  33. data/resources/{de → locales/de}/languages.yml +47 -42
  34. data/resources/{de → locales/de}/numbers.yml +1 -2
  35. data/resources/{de → locales/de}/plurals.yml +0 -0
  36. data/resources/{en → locales/en}/calendars.yml +16 -7
  37. data/resources/{en → locales/en}/languages.yml +53 -5
  38. data/resources/{en → locales/en}/numbers.yml +1 -2
  39. data/resources/{en → locales/en}/plurals.yml +0 -0
  40. data/resources/{es → locales/es}/calendars.yml +29 -15
  41. data/resources/{es → locales/es}/languages.yml +7 -5
  42. data/resources/{es → locales/es}/numbers.yml +3 -3
  43. data/resources/{es → locales/es}/plurals.yml +0 -0
  44. data/resources/{fa → locales/fa}/calendars.yml +87 -18
  45. data/resources/{fa → locales/fa}/languages.yml +13 -9
  46. data/resources/locales/fa/numbers.yml +29 -0
  47. data/resources/{fa → locales/fa}/plurals.yml +0 -0
  48. data/resources/{fi → locales/fi}/calendars.yml +64 -14
  49. data/resources/{fi → locales/fi}/languages.yml +47 -36
  50. data/resources/{fi → locales/fi}/numbers.yml +1 -2
  51. data/resources/{fi → locales/fi}/plurals.yml +0 -0
  52. data/resources/{fil → locales/fil}/calendars.yml +32 -23
  53. data/resources/{fil → locales/fil}/languages.yml +75 -22
  54. data/resources/{fil → locales/fil}/numbers.yml +1 -2
  55. data/resources/{fil → locales/fil}/plurals.yml +0 -0
  56. data/resources/{fr → locales/fr}/calendars.yml +54 -12
  57. data/resources/{fr → locales/fr}/languages.yml +5 -2
  58. data/resources/{fr → locales/fr}/numbers.yml +1 -2
  59. data/resources/{fr → locales/fr}/plurals.yml +0 -0
  60. data/resources/{he → locales/he}/calendars.yml +74 -38
  61. data/resources/{he → locales/he}/languages.yml +41 -26
  62. data/resources/{he → locales/he}/numbers.yml +1 -2
  63. data/resources/{he → locales/he}/plurals.yml +0 -0
  64. data/resources/{hi → locales/hi}/calendars.yml +36 -42
  65. data/resources/{hi → locales/hi}/languages.yml +8 -3
  66. data/resources/{hi → locales/hi}/numbers.yml +1 -2
  67. data/resources/{hi → locales/hi}/plurals.yml +0 -0
  68. data/resources/{hu → locales/hu}/calendars.yml +95 -19
  69. data/resources/{hu → locales/hu}/languages.yml +15 -4
  70. data/resources/{hu → locales/hu}/numbers.yml +1 -2
  71. data/resources/{hu → locales/hu}/plurals.yml +0 -0
  72. data/resources/{id → locales/id}/calendars.yml +56 -39
  73. data/resources/{id → locales/id}/languages.yml +148 -141
  74. data/resources/{id → locales/id}/numbers.yml +1 -2
  75. data/resources/{id → locales/id}/plurals.yml +0 -0
  76. data/resources/{it → locales/it}/calendars.yml +51 -15
  77. data/resources/{it → locales/it}/languages.yml +5 -5
  78. data/resources/{it → locales/it}/numbers.yml +2 -2
  79. data/resources/{it → locales/it}/plurals.yml +0 -0
  80. data/resources/{ja → locales/ja}/calendars.yml +26 -36
  81. data/resources/{ja → locales/ja}/languages.yml +29 -16
  82. data/resources/{ja → locales/ja}/numbers.yml +2 -3
  83. data/resources/{ja → locales/ja}/plurals.yml +0 -0
  84. data/resources/{ko → locales/ko}/calendars.yml +18 -9
  85. data/resources/{ko → locales/ko}/languages.yml +13 -10
  86. data/resources/{ko → locales/ko}/numbers.yml +1 -2
  87. data/resources/{ko → locales/ko}/plurals.yml +0 -0
  88. data/resources/{ms → locales/ms}/calendars.yml +91 -53
  89. data/resources/locales/ms/languages.yml +157 -0
  90. data/resources/{ms → locales/ms}/numbers.yml +1 -2
  91. data/resources/{ms → locales/ms}/plurals.yml +0 -0
  92. data/resources/{nl → locales/nl}/calendars.yml +38 -9
  93. data/resources/{nl → locales/nl}/languages.yml +28 -21
  94. data/resources/{nl → locales/nl}/numbers.yml +1 -2
  95. data/resources/{nl → locales/nl}/plurals.yml +0 -0
  96. data/resources/{no → locales/no}/calendars.yml +11 -6
  97. data/resources/{no → locales/no}/languages.yml +0 -0
  98. data/resources/{no → locales/no}/numbers.yml +1 -2
  99. data/resources/{no → locales/no}/plurals.yml +0 -0
  100. data/resources/{pl → locales/pl}/calendars.yml +80 -15
  101. data/resources/{pl → locales/pl}/languages.yml +6 -6
  102. data/resources/{pl → locales/pl}/numbers.yml +3 -2
  103. data/resources/{pl → locales/pl}/plurals.yml +0 -0
  104. data/resources/{pt → locales/pt}/calendars.yml +34 -8
  105. data/resources/{pt → locales/pt}/languages.yml +12 -4
  106. data/resources/{pt → locales/pt}/numbers.yml +1 -2
  107. data/resources/{pt → locales/pt}/plurals.yml +0 -0
  108. data/resources/{ru → locales/ru}/calendars.yml +69 -30
  109. data/resources/{ru → locales/ru}/languages.yml +18 -16
  110. data/resources/{ru → locales/ru}/numbers.yml +2 -3
  111. data/resources/{ru → locales/ru}/plurals.yml +0 -0
  112. data/resources/{sv → locales/sv}/calendars.yml +95 -15
  113. data/resources/{sv → locales/sv}/languages.yml +30 -8
  114. data/resources/{sv → locales/sv}/numbers.yml +1 -2
  115. data/resources/{sv → locales/sv}/plurals.yml +0 -0
  116. data/resources/{th → locales/th}/calendars.yml +89 -64
  117. data/resources/{th → locales/th}/languages.yml +5 -3
  118. data/resources/{th → locales/th}/numbers.yml +1 -2
  119. data/resources/{th → locales/th}/plurals.yml +0 -0
  120. data/resources/{tr → locales/tr}/calendars.yml +93 -19
  121. data/resources/{tr → locales/tr}/languages.yml +30 -28
  122. data/resources/{tr → locales/tr}/numbers.yml +2 -3
  123. data/resources/{tr → locales/tr}/plurals.yml +0 -0
  124. data/resources/{ur → locales/ur}/calendars.yml +33 -37
  125. data/resources/locales/ur/languages.yml +163 -0
  126. data/resources/{ur → locales/ur}/numbers.yml +1 -2
  127. data/resources/{ur → locales/ur}/plurals.yml +0 -0
  128. data/resources/{zh-Hant → locales/zh-Hant}/calendars.yml +76 -44
  129. data/resources/{zh-Hant → locales/zh-Hant}/languages.yml +122 -22
  130. data/resources/{zh-Hant → locales/zh-Hant}/numbers.yml +3 -4
  131. data/resources/{zh → locales/zh}/calendars.yml +81 -24
  132. data/resources/{zh → locales/zh}/languages.yml +13 -14
  133. data/resources/{zh → locales/zh}/numbers.yml +1 -2
  134. data/resources/{zh → locales/zh}/plurals.yml +0 -0
  135. data/spec/core_ext/array_spec.rb +16 -0
  136. data/spec/core_ext/calendars/date_spec.rb +6 -1
  137. data/spec/core_ext/calendars/datetime_spec.rb +6 -1
  138. data/spec/core_ext/calendars/time_spec.rb +6 -1
  139. data/spec/core_ext/numbers/localized_number_spec.rb +38 -8
  140. data/spec/core_ext/string_spec.rb +14 -1
  141. data/spec/formatters/numbers/number_formatter_spec.rb +3 -3
  142. data/spec/formatters/plurals/rules_spec.rb +3 -3
  143. data/spec/readme_spec.rb +190 -0
  144. data/spec/shared/calendar_spec.rb +133 -0
  145. data/spec/shared/numbers_spec.rb +35 -0
  146. data/spec/shared/resources_spec.rb +33 -15
  147. data/spec/tokenizers/calendars/date_tokenizer_spec.rb +37 -26
  148. data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +36 -29
  149. data/spec/tokenizers/calendars/time_tokenizer_spec.rb +22 -18
  150. data/spec/twitter_cldr_spec.rb +21 -7
  151. metadata +166 -114
  152. data/resources/fa/numbers.yml +0 -30
  153. data/resources/ms/languages.yml +0 -54
  154. data/resources/ur/languages.yml +0 -81
@@ -5,10 +5,12 @@
5
5
 
6
6
  module TwitterCldr
7
7
  module Shared
8
- class Currencies
9
- @@resource = TwitterCldr.get_resource("shared", "currencies")[:shared][:currencies]
8
+ module Currencies
9
+
10
+ @@resource = TwitterCldr.get_resource(:shared, :currencies)[:shared][:currencies]
10
11
 
11
12
  class << self
13
+
12
14
  def countries
13
15
  @@resource.map { |country_name, data| country_name.to_s }
14
16
  end
@@ -32,7 +34,9 @@ module TwitterCldr
32
34
  end
33
35
  final
34
36
  end
37
+
35
38
  end
39
+
36
40
  end
37
41
  end
38
42
  end
@@ -5,10 +5,12 @@
5
5
 
6
6
  module TwitterCldr
7
7
  module Shared
8
- class Languages
8
+ module Languages
9
+
9
10
  class << self
11
+
10
12
  def all
11
- all_for(TwitterCldr::get_locale)
13
+ all_for(TwitterCldr.get_locale)
12
14
  end
13
15
 
14
16
  def all_for(code)
@@ -18,16 +20,16 @@ module TwitterCldr
18
20
  end
19
21
 
20
22
  def from_code(code)
21
- from_code_for_locale(code, TwitterCldr::get_locale)
23
+ from_code_for_locale(code, TwitterCldr.get_locale)
22
24
  end
23
25
 
24
- def from_code_for_locale(code, locale = TwitterCldr::get_locale)
26
+ def from_code_for_locale(code, locale = TwitterCldr.get_locale)
25
27
  get_resource(TwitterCldr.convert_locale(locale.to_sym))[:languages][TwitterCldr.convert_locale(code.to_sym)]
26
28
  rescue
27
29
  nil
28
30
  end
29
31
 
30
- def translate_language(language, source_locale = :en, dest_locale = TwitterCldr::get_locale)
32
+ def translate_language(language, source_locale = :en, dest_locale = TwitterCldr.get_locale)
31
33
  source_locale = TwitterCldr.convert_locale(source_locale.to_sym)
32
34
  lang_code = get_resource(source_locale)[:languages].select { |key, val| val.downcase == language.downcase }.flatten.first
33
35
 
@@ -45,9 +47,11 @@ module TwitterCldr
45
47
 
46
48
  def get_resource(locale)
47
49
  locale = TwitterCldr.convert_locale(locale)
48
- TwitterCldr.get_resource(locale, "languages")[locale]
50
+ TwitterCldr.get_locale_resource(locale, :languages)[locale]
49
51
  end
52
+
50
53
  end
54
+
51
55
  end
52
56
  end
53
57
  end
@@ -0,0 +1,26 @@
1
+ # encoding: UTF-8
2
+
3
+ # Copyright 2012 Twitter, Inc
4
+ # http://www.apache.org/licenses/LICENSE-2.0
5
+
6
+ module TwitterCldr
7
+ module Shared
8
+ module Numbers
9
+
10
+ class << self
11
+
12
+ def symbols(locale = TwitterCldr.get_locale)
13
+ get_resource(TwitterCldr.convert_locale(locale))[:symbols] rescue nil
14
+ end
15
+
16
+ private
17
+
18
+ def get_resource(locale)
19
+ TwitterCldr.get_locale_resource(locale, :numbers)[locale][:numbers]
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -6,20 +6,37 @@
6
6
  module TwitterCldr
7
7
  module Shared
8
8
  class Resources
9
- def initialize
10
- @resources_by_locale = Hash.new do |hash, locale|
11
- hash[locale] = Hash.new { |h, resource| h[resource] = data_for(locale, resource) }
12
- end
9
+
10
+ def get_resource(*path)
11
+ resources_cache[resource_file_path(path)]
12
+ end
13
+
14
+ def get_locale_resource(locale, resource_name)
15
+ get_resource(:locales, TwitterCldr.convert_locale(locale), resource_name)
16
+ end
17
+
18
+ private
19
+
20
+ def resources_cache
21
+ @resources_cache ||= Hash.new { |hash, path| hash[path] = load_resource(path) }
13
22
  end
14
23
 
15
- def resource_for(locale, resource)
16
- @resources_by_locale[locale.to_sym][resource]
24
+ def resource_file_path(path)
25
+ "#{File.join(*path.map(&:to_s))}.yml"
17
26
  end
18
27
 
19
- protected
28
+ def load_resource(path)
29
+ TwitterCldr::Utils.deep_symbolize_keys(YAML.load(read_resource_file(path)))
30
+ end
20
31
 
21
- def data_for(locale, resource)
22
- TwitterCldr::Utils.deep_symbolize_keys(YAML.load(File.read(TwitterCldr.get_resource_file(locale, resource))))
32
+ def read_resource_file(path)
33
+ file_path = File.join(TwitterCldr::RESOURCES_DIR, path)
34
+
35
+ if File.file?(file_path)
36
+ File.read(file_path)
37
+ else
38
+ raise ArgumentError.new("Resource '#{path}' not found.")
39
+ end
23
40
  end
24
41
 
25
42
  end
@@ -5,13 +5,12 @@
5
5
 
6
6
  module TwitterCldr
7
7
  module Shared
8
- class UnicodeData
9
- Attributes = Struct.new(:code_point, :name, :category, :combining_class, :bidi_class, :decomposition,
10
- :digit_value, :non_decimal_digit_value, :numeric_value, :bidi_mirrored, :unicode1_name,
11
- :iso_comment, :simple_uppercase_map, :simple_lowercase_map, :simple_titlecase_map)
8
+ module UnicodeData
9
+
12
10
  class << self
11
+
13
12
  def for_code_point(code_point)
14
- blocks = TwitterCldr.get_resource("unicode_data", "blocks")
13
+ blocks = TwitterCldr.get_resource(:unicode_data, :blocks)
15
14
 
16
15
  #Find the target block
17
16
  target = blocks.find do |block_name, range|
@@ -19,13 +18,14 @@ module TwitterCldr
19
18
  end
20
19
 
21
20
  if target
22
- block_data = TwitterCldr.get_resource("unicode_data", target.first)
21
+ block_data = TwitterCldr.get_resource(:unicode_data, target.first)
23
22
  code_point_data = block_data.fetch(code_point.to_sym) { |code_point_sym| get_range_start(code_point_sym, block_data) }
24
23
  Attributes.new(*code_point_data) if code_point_data
25
24
  end
26
25
  end
27
26
 
28
27
  private
28
+
29
29
  # Check if block constitutes a range. The code point beginning a range will have a name enclosed in <>, ending with 'First'
30
30
  # eg: <CJK Ideograph Extension A, First>
31
31
  # http://unicode.org/reports/tr44/#Code_Point_Ranges
@@ -38,7 +38,27 @@ module TwitterCldr
38
38
  start_data
39
39
  end
40
40
  end
41
+
41
42
  end
43
+
44
+ Attributes = Struct.new(
45
+ :code_point,
46
+ :name,
47
+ :category,
48
+ :combining_class,
49
+ :bidi_class,
50
+ :decomposition,
51
+ :digit_value,
52
+ :non_decimal_digit_value,
53
+ :numeric_value,
54
+ :bidi_mirrored,
55
+ :unicode1_name,
56
+ :iso_comment,
57
+ :simple_uppercase_map,
58
+ :simple_lowercase_map,
59
+ :simple_titlecase_map
60
+ )
61
+
42
62
  end
43
63
  end
44
64
  end
@@ -41,7 +41,7 @@ module TwitterCldr
41
41
  end
42
42
 
43
43
  def init_resources
44
- @resource = TwitterCldr.get_resource(@locale, "calendars")[TwitterCldr.convert_locale(@locale)]
44
+ @resource = TwitterCldr.get_locale_resource(@locale, :calendars)[TwitterCldr.convert_locale(@locale)]
45
45
 
46
46
  @resource[:calendars].each_pair do |calendar_type, options|
47
47
  next if calendar_type == DEFAULT_CALENDAR_TYPE
@@ -65,8 +65,10 @@ module TwitterCldr
65
65
  end
66
66
 
67
67
  def init_placeholders
68
- @placeholders = [{ :name => :date, :object => TwitterCldr::Tokenizers::DateTokenizer.new(:locale => @locale, :calendar_type => @calendar_type) },
69
- { :name => :time, :object => TwitterCldr::Tokenizers::TimeTokenizer.new(:locale => @locale, :calendar_type => @calendar_type) }]
68
+ @placeholders = [
69
+ { :name => :time, :object => TwitterCldr::Tokenizers::TimeTokenizer.new(:locale => @locale, :calendar_type => @calendar_type) },
70
+ { :name => :date, :object => TwitterCldr::Tokenizers::DateTokenizer.new(:locale => @locale, :calendar_type => @calendar_type) }
71
+ ]
70
72
  end
71
73
 
72
74
  def pattern_for(resource)
@@ -43,7 +43,7 @@ module TwitterCldr
43
43
  end
44
44
 
45
45
  def init_resources
46
- @resource = TwitterCldr.get_resource(@locale, "numbers")[TwitterCldr.convert_locale(@locale)]
46
+ @resource = TwitterCldr.get_locale_resource(@locale, :numbers)[TwitterCldr.convert_locale(@locale)]
47
47
  end
48
48
 
49
49
  def pattern_for(resource)
@@ -4,5 +4,5 @@
4
4
  # http://www.apache.org/licenses/LICENSE-2.0
5
5
 
6
6
  module TwitterCldr
7
- VERSION = "1.2.0"
7
+ VERSION = "1.3.0"
8
8
  end
@@ -4,13 +4,13 @@ ar:
4
4
  days:
5
5
  format:
6
6
  abbreviated:
7
- fri: جمعة
8
- mon: اثنين
9
- sat: سبت
10
- sun: أحد
11
- thu: خميس
12
- tue: ثلاثاء
13
- wed: أربعاء
7
+ fri: الجمعة
8
+ mon: الاثنين
9
+ sat: السبت
10
+ sun: الأحد
11
+ thu: الخميس
12
+ tue: الثلاثاء
13
+ wed: الأربعاء
14
14
  narrow: :"calendars.gregorian.days.stand-alone.narrow"
15
15
  wide:
16
16
  fri: الجمعة
@@ -21,7 +21,14 @@ ar:
21
21
  tue: الثلاثاء
22
22
  wed: الأربعاء
23
23
  stand-alone:
24
- abbreviated: :"calendars.gregorian.days.format.abbreviated"
24
+ abbreviated:
25
+ fri: الجمعة
26
+ mon: الاثنين
27
+ sat: السبت
28
+ sun: الأحد
29
+ thu: الخميس
30
+ tue: الثلاثاء
31
+ wed: الأربعاء
25
32
  narrow:
26
33
  fri: ج
27
34
  mon: ن
@@ -30,7 +37,8 @@ ar:
30
37
  thu: خ
31
38
  tue: ث
32
39
  wed: ر
33
- wide: :"calendars.gregorian.days.format.wide"
40
+ wide:
41
+ mon: الاثنين
34
42
  fields:
35
43
  day: يوم
36
44
  dayperiod: ص/م
@@ -57,13 +65,13 @@ ar:
57
65
  datetime:
58
66
  default: :"calendars.gregorian.formats.datetime.medium"
59
67
  full:
60
- pattern: "{1} {0}"
68
+ pattern: "{{date}} {{time}}"
61
69
  long:
62
- pattern: "{1} {0}"
70
+ pattern: "{{date}} {{time}}"
63
71
  medium:
64
- pattern: "{1} {0}"
72
+ pattern: "{{date}} {{time}}"
65
73
  short:
66
- pattern: "{1} {0}"
74
+ pattern: "{{date}} {{time}}"
67
75
  time:
68
76
  default: :"calendars.gregorian.formats.time.medium"
69
77
  full:
@@ -76,19 +84,7 @@ ar:
76
84
  pattern: "h:mm a"
77
85
  months:
78
86
  format:
79
- abbreviated:
80
- 1: يناير
81
- 10: أكتوبر
82
- 11: نوفمبر
83
- 12: ديسمبر
84
- 2: فبراير
85
- 3: مارس
86
- 4: أبريل
87
- 5: مايو
88
- 6: يونيو
89
- 7: يوليو
90
- 8: أغسطس
91
- 9: سبتمبر
87
+ abbreviated: :"calendars.gregorian.months.format.wide"
92
88
  narrow: :"calendars.gregorian.months.stand-alone.narrow"
93
89
  wide:
94
90
  1: يناير
@@ -120,15 +116,16 @@ ar:
120
116
  9: س
121
117
  wide: :"calendars.gregorian.months.format.wide"
122
118
  periods:
123
- am: ص
124
- pm: م
119
+ format:
120
+ abbreviated: :"calendars.gregorian.dayPeriods.format.wide"
121
+ narrow: :"calendars.gregorian.dayPeriods.format.abbreviated"
122
+ wide:
123
+ am: ص
124
+ pm: م
125
+ stand-alone: {}
125
126
  quarters:
126
127
  format:
127
- abbreviated:
128
- 1: "الربع الأول"
129
- 2: "الربع الثاني"
130
- 3: "الربع الثالث"
131
- 4: "الربع الرابع"
128
+ abbreviated: :"calendars.gregorian.quarters.format.wide"
132
129
  narrow: :"calendars.gregorian.quarters.stand-alone.narrow"
133
130
  wide:
134
131
  1: "الربع الأول"
@@ -18,7 +18,7 @@ ar:
18
18
  alt: "الألطائية الجنوبية"
19
19
  am: الأمهرية
20
20
  an: الأراجونية
21
- ang: "الانجليزية القديمة"
21
+ ang: "الإنجليزية القديمة"
22
22
  anp: الأنجيكا
23
23
  apa: "اللغات الأباتشية"
24
24
  ar: العربية
@@ -29,19 +29,19 @@ ar:
29
29
  arw: الأراواكية
30
30
  as: الأسامية
31
31
  ast: الأسترية
32
- ath: "اللغات الأزباسكانية"
33
- aus: "اللغات الأسترالية"
32
+ ath: "اللغة الأزباسكانية"
33
+ aus: "اللغة الأسترالية"
34
34
  av: الأفاريكية
35
35
  awa: الأوادية
36
36
  ay: الأيمارا
37
37
  az: الأذرية
38
38
  ba: الباشكيرية
39
39
  bad: الباندا
40
- bai: "اللغات الباميليكية"
40
+ bai: "اللغة الباميليكية"
41
41
  bal: البلوشية
42
42
  ban: "اللغة البالية"
43
43
  bas: الباسا
44
- bat: "البلطيقية - أخرى"
44
+ bat: "اللغة البلطيقية"
45
45
  be: البيلوروسية
46
46
  bej: البيجا
47
47
  bem: البيمبا
@@ -64,9 +64,9 @@ ar:
64
64
  bua: البرياتية
65
65
  bug: البجينيزية
66
66
  byn: البلينية
67
- ca: الكاتالوينية
67
+ ca: الكتالانية
68
68
  cad: الكادو
69
- cai: "الهندية الأمريكية الوسطى - أخرى"
69
+ cai: "اللغة الهندية الأمريكية الوسطى"
70
70
  car: الكاريبية
71
71
  cau: "القوقازية - أخرى"
72
72
  cch: الأتسام
@@ -75,27 +75,27 @@ ar:
75
75
  cel: "السلتية - أخرى"
76
76
  ch: التشامورو
77
77
  chb: التشيبشا
78
- chg: التشاجاتاى
78
+ chg: التشاجاتاي
79
79
  chk: التشكيزية
80
80
  chm: الماري
81
81
  chn: "الشينوك جارجون"
82
82
  cho: الشوكتو
83
83
  chp: الشيباوايان
84
- chr: الشيروكى
84
+ chr: الشيروكي
85
85
  chy: الشايان
86
- cmc: "اللغات التشاميكية"
86
+ cmc: "اللغة التشاميكية"
87
87
  co: الكورسيكية
88
- cop: قبطية
88
+ cop: القبطية
89
89
  cpe: "الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس الأنجليزية"
90
90
  cpf: "الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس الفرنسية"
91
- cpp: "الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس البرتغالية"
91
+ cpp: "الكرييولي واللغات المبسطة الأخرى للتفاهم بين الشعوب على أساس البرتغالية"
92
92
  cr: الكرى
93
- crh: "تركى كريمين، لغة توركية كريمينية"
93
+ crh: "التركية الكريمينية"
94
94
  crp: "الكرييولى و اللغات المبسطة الأخرى للتفاهم بين الشعوب - أخرى"
95
95
  cs: التشيكية
96
96
  csb: الكاشبايان
97
97
  cu: "سلافية كنسية"
98
- cus: "الكشيتيك - أخرى"
98
+ cus: "اللغة الكشيتيكية"
99
99
  cv: التشفاش
100
100
  cy: الولزية
101
101
  da: الدانماركية
@@ -109,40 +109,40 @@ ar:
109
109
  den: السلافية
110
110
  dgr: الدوجريب
111
111
  din: الدنكا
112
- doi: الدوجرى
113
- dra: "الدرافيدين - أخرى"
112
+ doi: الدوجري
113
+ dra: "اللغة الدرافيدينية"
114
114
  dsb: "الصربية السفلى"
115
115
  dua: الديولا
116
116
  dum: "الهولندية الوسطى"
117
117
  dv: المالديفية
118
118
  dyu: الدايلا
119
119
  dz: الزونخاية
120
- ee: الايوي
121
- efi: الافيك
120
+ ee: الإيوي
121
+ efi: الإفيك
122
122
  egy: "المصرية القديمة"
123
- eka: الاكاجك
123
+ eka: الإكاجك
124
124
  el: اليونانية
125
- elx: الامايت
126
- en: الانجليزية
127
- en-AU: "الانجليزية الأسترالية"
125
+ elx: الإمايت
126
+ en: الإنجليزية
127
+ en-AU: "الإنجليزية الأسترالية"
128
128
  en-CA: "الإنجليزية الكندية"
129
- en-GB: "الانجليزية البريطانية"
130
- en-US: "إنجليزية الولايات المتحدة"
131
- enm: "الانجليزية الوسطى"
132
- eo: اسبرانتو
133
- es: الأسبانية
134
- es-419: "أسبانية أمريكا اللاتينية"
135
- es-ES: "الأسبانية الأيبيرية"
136
- et: الأستونية
129
+ en-GB: "الإنجليزية البريطانية"
130
+ en-US: "الإنجليزية الولايات المتحدة"
131
+ enm: "الإنجليزية الوسطى"
132
+ eo: الإسبرانتو
133
+ es: الإسبانية
134
+ es-419: "إسبانية أمريكا اللاتينية"
135
+ es-ES: "الإسبانية الأيبيرية"
136
+ et: الإستونية
137
137
  eu: "لغة الباسك"
138
- ewo: الايوندو
138
+ ewo: الإيوندو
139
139
  fa: الفارسية
140
140
  fan: الفانج
141
- fat: الفانتى
141
+ fat: الفانتي
142
142
  ff: الفلة
143
143
  fi: الفنلندية
144
144
  fil: الفلبينية
145
- fiu: "فينو أجرايان - أخرى"
145
+ fiu: "لغة فينو أجريانية"
146
146
  fj: الفيجية
147
147
  fo: الفارويز
148
148
  fon: الفون
@@ -160,14 +160,14 @@ ar:
160
160
  gay: الجايو
161
161
  gba: الجبيا
162
162
  gd: "الغيلية الأسكتلندية"
163
- gem: "لغة جرمانية"
163
+ gem: "اللغة الجرمانية"
164
164
  gez: الجيز
165
165
  gil: "لغة أهل جبل طارق"
166
166
  gl: الجاليكية
167
167
  gmh: "الألمانية العليا الوسطى"
168
- gn: الجوارانى
168
+ gn: الجواراني
169
169
  goh: "الألمانية العليا القديمة"
170
- gon: الجندى
170
+ gon: الجندي
171
171
  gor: الجورونتالو
172
172
  got: القوطية
173
173
  grb: الجريبو
@@ -177,14 +177,14 @@ ar:
177
177
  gv: المنكية
178
178
  ha: الهوسا
179
179
  hai: الهيدا
180
- haw: "لغة أهل الهاواى"
180
+ haw: "لغة أهل الهاواي"
181
181
  he: العبرية
182
182
  hi: الهندية
183
183
  hil: الهيليجينون
184
- him: الهيماتشالى
184
+ him: الهيماتشالي
185
185
  hit: الحثية
186
186
  hmn: الهمونجية
187
- ho: "الهيرى موتو"
187
+ ho: "الهيري موتو"
188
188
  hr: الكرواتية
189
189
  hsb: "الصربية العليا"
190
190
  ht: الهايتية
@@ -193,27 +193,27 @@ ar:
193
193
  hy: الأرمينية
194
194
  hz: الهيريرو
195
195
  ia: "اللّغة الوسيطة"
196
- iba: الايبان
197
- id: الأندونيسية
198
- ie: الانترلينج
199
- ig: الايجبو
200
- ii: "السيتشيون يى"
201
- ijo: الايجو
202
- ik: الاينبياك
203
- ilo: الايلوكو
204
- inc: "الهندية - أخرى"
196
+ iba: الإيبان
197
+ id: الإندونيسية
198
+ ie: الإنترلينج
199
+ ig: الإيجبو
200
+ ii: "السيتشيون يي"
201
+ ijo: الإجو
202
+ ik: الإينبياك
203
+ ilo: الإيلوكو
204
+ inc: "اللغة الهندية"
205
205
  ine: "الهندية الأوروبية - أخرى"
206
- inh: الانجوشية
207
- io: الايدو
208
- ira: الايرانية
209
- iro: "اللغات الايروكويانية"
206
+ inh: الإنجوشية
207
+ io: الإيدو
208
+ ira: "اللغة الإيرانية"
209
+ iro: "اللغة الإيروكويانية"
210
210
  is: الأيسلاندية
211
- it: الايطالية
212
- iu: الاينكتيتت
211
+ it: الإيطالية
212
+ iu: الإينكتيتت
213
213
  ja: اليابانية
214
214
  jbo: اللوجبان
215
- jpr: "الجيدو الفارسى"
216
- jrb: "الجيدو العربى"
215
+ jpr: "الجيدو - الفارسي"
216
+ jrb: "الجيدو - العربي"
217
217
  jv: الجاوية
218
218
  ka: الجورجية
219
219
  kaa: الكارا-كالباك
@@ -227,7 +227,7 @@ ar:
227
227
  kfo: الكورو
228
228
  kg: الكونغو
229
229
  kha: الكازية
230
- khi: "الخويسان - أخرى"
230
+ khi: "اللغة الخويسانية"
231
231
  kho: الخوتانيز
232
232
  ki: الكيكيو
233
233
  kj: الكيونياما
@@ -252,7 +252,7 @@ ar:
252
252
  kw: الكورنية
253
253
  ky: القيرغستانية
254
254
  la: اللاتينية
255
- lad: الاسباعبرية
255
+ lad: الإسباعبرية
256
256
  lah: اللاهندا
257
257
  lam: اللامبا
258
258
  lb: اللوكسمبرجية
@@ -262,7 +262,7 @@ ar:
262
262
  ln: اللينجالا
263
263
  lo: اللاوية
264
264
  lol: منغولى
265
- loz: اللوزى
265
+ loz: اللوزي
266
266
  lt: اللتوانية
267
267
  lu: اللبا-كاتانجا
268
268
  lua: اللبا-لؤلؤ
@@ -287,34 +287,34 @@ ar:
287
287
  mi: الماورية
288
288
  mic: الميكماكيونية
289
289
  min: المينانجكاباو
290
- mis: "اللغات المتنوعة"
290
+ mis: "اللغة المتنوعة"
291
291
  mk: المقدونية
292
- mkh: "المون خمير- أخرى"
292
+ mkh: "لغة المون - خمير"
293
293
  ml: الماليالام
294
294
  mn: المنغولية
295
295
  mnc: المانشو
296
- mni: المانيبرى
296
+ mni: المانيبري
297
297
  mno: "لغات مانوبو"
298
298
  mo: المولدوفية
299
299
  moh: الموهوك
300
300
  mos: الموسي
301
- mr: الماراثى
301
+ mr: الماراثي
302
302
  ms: "لغة الملايو"
303
303
  mt: المالطية
304
- mul: "اللغات المتعددة"
305
- mun: "لغات المندا"
304
+ mul: "لغات متعددة"
305
+ mun: "لغة المندا"
306
306
  mus: الكريك
307
307
  mwl: الميرانديز
308
- mwr: الماروارى
308
+ mwr: المارواري
309
309
  my: البورمية
310
- myn: "لغات المايا"
311
- myv: "اللغة الارزية"
310
+ myn: "لغة المايا"
311
+ myv: الأرزية
312
312
  na: النورو
313
313
  nah: الناهيوتل
314
- nai: "الهندية الأمريكية الشمالية - أخرى"
314
+ nai: "اللغة الهندية الأمريكية الشمالية"
315
315
  nap: "اللغة النابولية"
316
316
  nb: "البوكمالية النرويجية"
317
- nd: "النديبيل الشمالى"
317
+ nd: "النديبيل الشمالي"
318
318
  nds: "الألمانية السفلى"
319
319
  ne: النيبالية
320
320
  new: النيواري
@@ -323,18 +323,19 @@ ar:
323
323
  nic: "النيجر - كوردوفانايان"
324
324
  niu: النيوي
325
325
  nl: الهولندية
326
+ nl-BE: الفلمنك
326
327
  nn: "النينورسك النرويجي"
327
328
  "no": النرويجية
328
- nog: النوجاى
329
+ nog: النوجاي
329
330
  non: "النورس القديم"
330
- nqo: انكو
331
- nr: "النديبيل الجنوبى"
331
+ nqo: أنكو
332
+ nr: "النديبيل الجنوبي"
332
333
  nso: "السوتو الشمالية"
333
- nub: "اللغات النوبية"
334
+ nub: "لغة نوبية"
334
335
  nv: النافاجو
335
336
  nwc: "النوارية التقليدية"
336
- ny: "النيانجا، التشيتشوا، التشوا"
337
- nym: النيامويزى
337
+ ny: النيانجا
338
+ nym: النيامويزي
338
339
  nyn: النيانكول
339
340
  nyo: النيورو
340
341
  nzi: النزيما
@@ -345,82 +346,82 @@ ar:
345
346
  os: الأوسيتيك
346
347
  osa: الأوساج
347
348
  ota: "التركية العثمانية"
348
- oto: "اللغات الأوتومية"
349
+ oto: "اللغة الأوتومية"
349
350
  pa: البنجابية
350
- paa: "الغينية - أخرى"
351
+ paa: "اللغة الغينية"
351
352
  pag: البانجاسينان
352
353
  pal: البهلوية
353
354
  pam: البامبانجا
354
355
  pap: البابيامينتو
355
356
  pau: البالوان
356
357
  peo: "الفارسية القديمة"
357
- phi: "الفليبينية - أخرى"
358
+ phi: "اللغة الفليبينية"
358
359
  phn: الفينيقية
359
360
  pi: البالية
360
361
  pl: البولندية
361
362
  pon: البوهنبيايان
362
363
  pra: "اللغات البراقريطية"
363
364
  pro: "البروفانسية القديمة"
364
- ps: البشتونية
365
+ ps: بشتو
365
366
  pt: البرتغالية
366
367
  pt-BR: "البرتغالية البرازيلية"
367
368
  pt-PT: "البرتغالية الأيبيرية"
368
369
  qu: الكويتشوا
369
370
  raj: الراجاسثانية
370
- rap: الرابانى
371
- rar: الراروتونجانى
371
+ rap: الراباني
372
+ rar: الراروتونجاني
372
373
  rm: الرهايتو-رومانس
373
- rn: الرندى
374
+ rn: الرندي
374
375
  ro: الرومانية
375
- roa: "الرومانسية - أخرى"
376
- rom: rom
376
+ roa: "اللغة الرومانسية"
377
+ rom: غجري
377
378
  root: الجذر
378
379
  ru: الروسية
379
380
  rup: الأرومانيان
380
381
  rw: الكينيارواندا
381
382
  sa: السنسكريتية
382
- sad: السانداوى
383
- sah: الياكت
384
- sai: "الهندية الأمريكية الجنوبية - أخرى"
385
- sal: "لغات ساليشان"
383
+ sad: السانداوي
384
+ sah: الساخية
385
+ sai: "اللغة الهندية الأمريكية الجنوبية"
386
+ sal: "اللغة الساليشانية"
386
387
  sam: "الآرامية السومارية"
387
388
  sas: الساساك
388
- sat: السانتالى
389
+ sat: السانتالي
389
390
  sc: السردينية
390
391
  scn: الصقلية
391
392
  sco: الأسكتلندية
392
- sd: السيندى
393
- se: "السامي الشمالى"
393
+ sd: السيندي
394
+ se: "السامي الشمالي"
394
395
  sel: السيلكب
395
- sem: "السامية - أخرى"
396
+ sem: "لغة سامية"
396
397
  sg: السانجو
397
398
  sga: "الأيرلندية القديمة"
398
399
  sgn: "لغات الإشارة"
399
400
  shn: الشانية
400
- si: السريلانكية
401
+ si: السنهالية
401
402
  sid: السيدامو
402
- sio: "لغات السيويون"
403
- sit: "الصينية التيبتية - أخرى"
403
+ sio: "لغة السيويون"
404
+ sit: "اللغة الصينية التيبتية"
404
405
  sk: السلوفاكية
405
406
  sl: السلوفانية
406
- sla: "السلافية - أخرى"
407
+ sla: "اللغة السلافية"
407
408
  sm: الساموائية
408
- sma: "السامي الجنوبى"
409
- smi: "اللغات السامية - أخرى"
410
- smj: "اللول سامى"
411
- smn: "الاينارى سامى"
412
- sms: "السكولت سامى"
409
+ sma: "السامي الجنوبي"
410
+ smi: "اللغة السامية"
411
+ smj: "اللول سامي"
412
+ smn: "الإيناري سامي"
413
+ sms: "السكولت سامي"
413
414
  sn: الشونا
414
415
  snk: السونينك
415
416
  so: الصومالية
416
417
  sog: السوجدين
417
- son: السونجهاى
418
+ son: السونجهاي
418
419
  sq: الألبانية
419
420
  sr: الصربية
420
421
  srn: "السرانان تونجو"
421
422
  srr: السرر
422
- ss: السواتى
423
- ssa: "النيلية الصحراوية - أخرى"
423
+ ss: السواتي
424
+ ssa: "لغة نيلية الصحراوية"
424
425
  st: "السوتو الجنوبية"
425
426
  su: السودانية
426
427
  suk: السوكوما
@@ -428,10 +429,11 @@ ar:
428
429
  sux: السومارية
429
430
  sv: السويدية
430
431
  sw: السواحلية
432
+ swb: القمرية
431
433
  syc: "سريانية تقليدية"
432
434
  syr: السريانية
433
435
  ta: التاميلية
434
- tai: "تاى - أخرى"
436
+ tai: "لغة تاي"
435
437
  te: التيلجو
436
438
  tem: التيمن
437
439
  ter: التيرينو
@@ -448,7 +450,7 @@ ar:
448
450
  tli: التلينغيتية
449
451
  tmh: التاماشيك
450
452
  tn: التسوانية
451
- to: "تونجا - جزر تونجا"
453
+ to: التونغية
452
454
  tog: "تونجا - نياسا"
453
455
  tpi: "التوك بيسين"
454
456
  tr: التركية
@@ -456,42 +458,42 @@ ar:
456
458
  tsi: التسيمشيان
457
459
  tt: التتارية
458
460
  tum: التامبوكا
459
- tup: "اللغات التوبية"
461
+ tup: "اللغة التوبية"
460
462
  tut: "الألطائية - أخرى"
461
463
  tvl: التوفالو
462
464
  tw: التوي
463
465
  ty: التاهيتية
464
466
  udm: الأدمرت
465
- ug: الأغورية
467
+ ug: الأيغورية
466
468
  uga: اليجاريتيك
467
469
  uk: الأوكرانية
468
470
  umb: الأمبندو
469
- und: "غير محدده"
471
+ und: "لغة غير معروفة"
470
472
  ur: الأردية
471
- uz: الاوزباكية
472
- vai: الفاى
473
+ uz: الأوزباكية
474
+ vai: الفاي
473
475
  ve: الفيندا
474
476
  vi: الفيتنامية
475
477
  vot: الفوتيك
476
478
  wa: الولونية
477
- wak: "لغات الواكاشان"
479
+ wak: "اللغة الواكاشانية"
478
480
  wal: الوالامو
479
- war: الواراى
481
+ war: الواراي
480
482
  was: الواشو
481
- wen: "اللغات الصربية"
483
+ wen: "اللغة الصربية"
482
484
  wo: الولوف
483
485
  xal: الكالميك
486
+ xh: الخوسا
484
487
  yao: الياو
485
488
  yap: اليابيز
486
489
  yi: اليديشية
487
490
  yo: اليوروبية
488
- ypk: "اللغات اليوبيكية"
491
+ ypk: "اللغة اليوبيكية"
492
+ yue: الكَنْتُونية
489
493
  za: الزهيونج
490
494
  zap: الزابوتيك
491
495
  zen: الزيناجا
492
496
  zh: الصينية
493
- zh-Hans: "الصينية المبسطة"
494
- zh-Hant: "الصينية التقليدية"
495
497
  znd: الزاند
496
498
  zu: الزولو
497
499
  zun: الزونية