motiro 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (309) hide show
  1. data/LICENSE +280 -0
  2. data/README +28 -0
  3. data/README.en +175 -0
  4. data/README.pt-br +175 -0
  5. data/Rakefile +10 -0
  6. data/app/controllers/account_controller.rb +62 -0
  7. data/app/controllers/application.rb +72 -0
  8. data/app/controllers/edition_controller.rb +13 -0
  9. data/app/controllers/javascript_controller.rb +21 -0
  10. data/app/controllers/report_controller.rb +79 -0
  11. data/app/controllers/root_controller.rb +7 -0
  12. data/app/controllers/wiki_controller.rb +102 -0
  13. data/app/core/cache_reporter.rb +53 -0
  14. data/app/core/cache_reporter_fetcher.rb +33 -0
  15. data/app/core/chief_editor.rb +69 -0
  16. data/app/core/reporter.rb +105 -0
  17. data/app/core/reporter_driver.rb +36 -0
  18. data/app/core/reporter_fetcher.rb +39 -0
  19. data/app/core/settings.rb +43 -0
  20. data/app/core/version.rb +1 -0
  21. data/app/core/wiki_page_not_found.rb +33 -0
  22. data/app/core/wiki_reporter.rb +83 -0
  23. data/app/helpers/account_helper.rb +2 -0
  24. data/app/helpers/application_helper.rb +68 -0
  25. data/app/helpers/default_page_provider.rb +28 -0
  26. data/app/helpers/report_helper.rb +2 -0
  27. data/app/helpers/root_helper.rb +2 -0
  28. data/app/helpers/wiki_helper.rb +3 -0
  29. data/app/models/change.rb +96 -0
  30. data/app/models/diff_table_builder.rb +285 -0
  31. data/app/models/event.rb +18 -0
  32. data/app/models/headline.rb +109 -0
  33. data/app/models/page.rb +114 -0
  34. data/app/models/page_sweeper.rb +26 -0
  35. data/app/models/user.rb +85 -0
  36. data/app/ports/chdir_runner.rb +36 -0
  37. data/app/ports/reporter_loader.rb +9 -0
  38. data/app/ports/runner.rb +64 -0
  39. data/app/reporters/darcs_connection.rb +54 -0
  40. data/app/reporters/darcs_reporter.rb +104 -0
  41. data/app/reporters/darcs_settings.rb +9 -0
  42. data/app/reporters/darcs_temp_repo.rb +40 -0
  43. data/app/reporters/events_reporter.rb +28 -0
  44. data/app/reporters/features_reporter.rb +24 -0
  45. data/app/reporters/subversion_reporter.rb +203 -0
  46. data/app/reporters/svn_connection.rb +62 -0
  47. data/app/reporters/svn_settings.rb +40 -0
  48. data/app/views/account/_authorization.rhtml +54 -0
  49. data/app/views/account/_availability.rhtml +5 -0
  50. data/app/views/account/availability.rhtml +1 -0
  51. data/app/views/account/login.rhtml +22 -0
  52. data/app/views/account/logout.rhtml +10 -0
  53. data/app/views/javascript/motiro.rjs +132 -0
  54. data/app/views/javascript/niftycube.rjs +300 -0
  55. data/app/views/layouts/_bottom.rhtml +5 -0
  56. data/app/views/layouts/_header.rhtml +7 -0
  57. data/app/views/layouts/_top.rhtml +25 -0
  58. data/app/views/layouts/application.rhtml +3 -0
  59. data/app/views/layouts/scaffold.rhtml +13 -0
  60. data/app/views/layouts/wiki_edit.rhtml +26 -0
  61. data/app/views/report/list.rhtml +32 -0
  62. data/app/views/report/older.rhtml +26 -0
  63. data/app/views/report/rss.rxml +29 -0
  64. data/app/views/report/show.rhtml +20 -0
  65. data/app/views/root/index.rhtml +33 -0
  66. data/app/views/wiki/_editbar.rhtml +26 -0
  67. data/app/views/wiki/_properties_edit.rhtml +5 -0
  68. data/app/views/wiki/_properties_show.rhtml +5 -0
  69. data/app/views/wiki/edit.rhtml +56 -0
  70. data/app/views/wiki/properties_edit.rhtml +1 -0
  71. data/app/views/wiki/show.rhtml +9 -0
  72. data/bin/motiro +44 -0
  73. data/config/boot.rb +19 -0
  74. data/config/database.yml +14 -0
  75. data/config/environment.rb +64 -0
  76. data/config/environments/development.rb +20 -0
  77. data/config/environments/production.rb +19 -0
  78. data/config/environments/test.rb +19 -0
  79. data/config/motiro.yml +43 -0
  80. data/config/routes.rb +79 -0
  81. data/db/migrate/005_globalize_migration.rb +11363 -0
  82. data/db/migrate/006_remove_headline_title.rb +14 -0
  83. data/db/migrate/007_stretch_rid.rb +11 -0
  84. data/db/migrate/008_add_page_editors.rb +12 -0
  85. data/db/migrate/009_add_page_original_author.rb +12 -0
  86. data/db/migrate/010_remove_empty_string_defaults_from_pages.rb +17 -0
  87. data/db/migrate/011_add_title_and_kind_to_pages.rb +13 -0
  88. data/db/migrate/012_page_modification_info.rb +13 -0
  89. data/db/migrate/013_nullify_initial_page_attributes.rb +21 -0
  90. data/db/migrate/014_events_are_wiki_pages.rb +13 -0
  91. data/db/migrate/015_migrate_previous_event_data.rb +23 -0
  92. data/db/migrate/1_initial_structure.rb +36 -0
  93. data/db/migrate/2_add_authentication.rb +12 -0
  94. data/db/migrate/3_drop_articles.rb +26 -0
  95. data/db/migrate/4_add_page_editing.rb +14 -0
  96. data/db/motirodb.sqlite.initial +0 -0
  97. data/db/schema_version +1 -0
  98. data/db/translation/pt-BR.rb +76 -0
  99. data/doc/README_FOR_APP +2 -0
  100. data/installer/rails_installer_defaults.yml +5 -0
  101. data/lib/import_translations.rb +154 -0
  102. data/lib/login_system.rb +89 -0
  103. data/lib/relative_time.rb +48 -0
  104. data/lib/string_extensions.rb +10 -0
  105. data/lib/stub_hash.rb +22 -0
  106. data/lib/tasks/packaging.rake +93 -0
  107. data/lib/tasks/testing.rake +32 -0
  108. data/lib/tick_daemon.rb +41 -0
  109. data/lib/translator.rb +67 -0
  110. data/lib/wiki_renderer.rb +42 -0
  111. data/lib/wiki_url_generator.rb +29 -0
  112. data/log/.keepdir +0 -0
  113. data/public/404.html +8 -0
  114. data/public/500.html +8 -0
  115. data/public/dispatch.cgi +10 -0
  116. data/public/dispatch.fcgi +24 -0
  117. data/public/dispatch.rb +10 -0
  118. data/public/favicon.ico +0 -0
  119. data/public/images/calendar.png +0 -0
  120. data/public/images/rss.png +0 -0
  121. data/public/javascripts/controls.js +750 -0
  122. data/public/javascripts/dragdrop.js +584 -0
  123. data/public/javascripts/effects.js +854 -0
  124. data/public/javascripts/prototype.js +1785 -0
  125. data/public/robots.txt +1 -0
  126. data/public/stylesheets/motiro.css +269 -0
  127. data/public/stylesheets/niftyCorners.css +35 -0
  128. data/public/stylesheets/scaffold.css +74 -0
  129. data/script/about +3 -0
  130. data/script/breakpointer +3 -0
  131. data/script/console +3 -0
  132. data/script/destroy +3 -0
  133. data/script/generate +3 -0
  134. data/script/performance/benchmarker +3 -0
  135. data/script/performance/profiler +3 -0
  136. data/script/plugin +3 -0
  137. data/script/process/reaper +3 -0
  138. data/script/process/spawner +3 -0
  139. data/script/process/spinner +3 -0
  140. data/script/runner +3 -0
  141. data/script/server +3 -0
  142. data/script/ticker +29 -0
  143. data/test/acceptance/account_test.rb +186 -0
  144. data/test/acceptance/darcs_test.rb +62 -0
  145. data/test/acceptance/events_test.rb +47 -0
  146. data/test/acceptance/main_page_test.rb +92 -0
  147. data/test/acceptance/subversion_test.rb +319 -0
  148. data/test/acceptance/ts_all_suites.rb +27 -0
  149. data/test/acceptance/wiki_test.rb +202 -0
  150. data/test/contract/darcs_test.rb +51 -0
  151. data/test/contract/remote_darcs_test.rb +61 -0
  152. data/test/contract/svn_test.rb +53 -0
  153. data/test/fixtures/changes.yml +25 -0
  154. data/test/fixtures/headlines.yml +45 -0
  155. data/test/fixtures/pages.yml +98 -0
  156. data/test/fixtures/users.yml +31 -0
  157. data/test/functional/account_controller_test.rb +96 -0
  158. data/test/functional/report_controller_test.rb +113 -0
  159. data/test/functional/report_features_test.rb +38 -0
  160. data/test/functional/report_subversion_test.rb +79 -0
  161. data/test/functional/root_controller_test.rb +127 -0
  162. data/test/functional/wiki_controller_test.rb +280 -0
  163. data/test/lib/acceptance_test_case.rb +43 -0
  164. data/test/lib/configuration.rb +53 -0
  165. data/test/lib/darcs_excerpts.rb +181 -0
  166. data/test/lib/darcs_repo.rb +77 -0
  167. data/test/lib/live_mode_test.rb +51 -0
  168. data/test/lib/local_svn.rb +157 -0
  169. data/test/lib/netutils.rb +42 -0
  170. data/test/lib/platform_thread.rb +62 -0
  171. data/test/lib/repoutils.rb +23 -0
  172. data/test/lib/selenium_extensions.rb +32 -0
  173. data/test/lib/stubio.rb +37 -0
  174. data/test/lib/svn_excerpts.rb +288 -0
  175. data/test/lib/test_configuration.rb +14 -0
  176. data/test/lib/webserver.rb +71 -0
  177. data/test/meta/configuration_test.rb +72 -0
  178. data/test/meta/darcs_repo_test.rb +118 -0
  179. data/test/meta/local_svn_test.rb +125 -0
  180. data/test/meta/platform_thread_test.rb +46 -0
  181. data/test/meta/stubio_test.rb +44 -0
  182. data/test/mocks/headline.rb +34 -0
  183. data/test/mocks/svn_reporter.rb +29 -0
  184. data/test/stubs/svn_settings.rb +19 -0
  185. data/test/stubs/url_generator.rb +24 -0
  186. data/test/test_helper.rb +36 -0
  187. data/test/unit/cache_reporter_fetcher_test.rb +46 -0
  188. data/test/unit/cache_reporter_test.rb +97 -0
  189. data/test/unit/caching_test.rb +78 -0
  190. data/test/unit/change_test.rb +152 -0
  191. data/test/unit/chdir_runner_test.rb +77 -0
  192. data/test/unit/chief_editor_test.rb +234 -0
  193. data/test/unit/darcs_connection_test.rb +109 -0
  194. data/test/unit/darcs_reporter_test.rb +146 -0
  195. data/test/unit/darcs_settings_test.rb +37 -0
  196. data/test/unit/darcs_temp_repo_test.rb +51 -0
  197. data/test/unit/default_page_provider_test.rb +46 -0
  198. data/test/unit/diff_table_builder_test.rb +602 -0
  199. data/test/unit/headline_test.rb +259 -0
  200. data/test/unit/page_test.rb +145 -0
  201. data/test/unit/relative_time_test.rb +56 -0
  202. data/test/unit/reporter_driver_test.rb +85 -0
  203. data/test/unit/reporter_fetcher_test.rb +31 -0
  204. data/test/unit/reporter_test.rb +81 -0
  205. data/test/unit/runner_test.rb +93 -0
  206. data/test/unit/settings_test.rb +55 -0
  207. data/test/unit/string_extensions_test.rb +10 -0
  208. data/test/unit/svn_connection_test.rb +183 -0
  209. data/test/unit/svn_reporter_interaction_test.rb +38 -0
  210. data/test/unit/svn_reporter_test.rb +286 -0
  211. data/test/unit/svn_settings_test.rb +86 -0
  212. data/test/unit/translator_test.rb +96 -0
  213. data/test/unit/user_test.rb +125 -0
  214. data/test/unit/wiki_renderer_test.rb +87 -0
  215. data/test/unit/wiki_reporter_test.rb +94 -0
  216. data/test/unit/wiki_url_generator_test.rb +31 -0
  217. data/vendor/motiro-installer.rb +159 -0
  218. data/vendor/plugins/globalize/LICENSE +9 -0
  219. data/vendor/plugins/globalize/README +49 -0
  220. data/vendor/plugins/globalize/data/country_data.csv +240 -0
  221. data/vendor/plugins/globalize/data/language_data.csv +188 -0
  222. data/vendor/plugins/globalize/data/translation_data.csv +3421 -0
  223. data/vendor/plugins/globalize/generators/globalize/USAGE +10 -0
  224. data/vendor/plugins/globalize/generators/globalize/globalize_generator.rb +42 -0
  225. data/vendor/plugins/globalize/generators/globalize/templates/migration.rb.gz +0 -0
  226. data/vendor/plugins/globalize/generators/globalize/templates/tiny_migration.rb.gz +0 -0
  227. data/vendor/plugins/globalize/init.rb +30 -0
  228. data/vendor/plugins/globalize/lib/globalize/localization/core_ext.rb +170 -0
  229. data/vendor/plugins/globalize/lib/globalize/localization/core_ext_hooks.rb +33 -0
  230. data/vendor/plugins/globalize/lib/globalize/localization/db_translate.rb +494 -0
  231. data/vendor/plugins/globalize/lib/globalize/localization/db_view_translator.rb +152 -0
  232. data/vendor/plugins/globalize/lib/globalize/localization/locale.rb +173 -0
  233. data/vendor/plugins/globalize/lib/globalize/localization/rfc_3066.rb +40 -0
  234. data/vendor/plugins/globalize/lib/globalize/models/country.rb +24 -0
  235. data/vendor/plugins/globalize/lib/globalize/models/currency.rb +188 -0
  236. data/vendor/plugins/globalize/lib/globalize/models/language.rb +84 -0
  237. data/vendor/plugins/globalize/lib/globalize/models/model_translation.rb +4 -0
  238. data/vendor/plugins/globalize/lib/globalize/models/translation.rb +9 -0
  239. data/vendor/plugins/globalize/lib/globalize/models/view_translation.rb +14 -0
  240. data/vendor/plugins/globalize/lib/globalize/rails/action_mailer.rb +125 -0
  241. data/vendor/plugins/globalize/lib/globalize/rails/action_view.rb +79 -0
  242. data/vendor/plugins/globalize/lib/globalize/rails/active_record.rb +129 -0
  243. data/vendor/plugins/globalize/lib/globalize/rails/active_record_helper.rb +33 -0
  244. data/vendor/plugins/globalize/populators/pop_dates.rb +81 -0
  245. data/vendor/plugins/globalize/populators/pop_migration.rb +18 -0
  246. data/vendor/plugins/globalize/populators/pop_pluralization.rb +26 -0
  247. data/vendor/plugins/globalize/populators/pop_seps.rb +32 -0
  248. data/vendor/plugins/globalize/tasks/data.rake +130 -0
  249. data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.en-US.plain.text.rhtml +1 -0
  250. data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.en.plain.text.rhtml +1 -0
  251. data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.he.plain.text.rhtml +1 -0
  252. data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.plain.text.rhtml +1 -0
  253. data/vendor/plugins/globalize/test/action_mailer_test.rb +54 -0
  254. data/vendor/plugins/globalize/test/config/database.yml.default +16 -0
  255. data/vendor/plugins/globalize/test/config/database.yml.example +22 -0
  256. data/vendor/plugins/globalize/test/core_ext_test.rb +61 -0
  257. data/vendor/plugins/globalize/test/currency_test.rb +141 -0
  258. data/vendor/plugins/globalize/test/date_helper_test.rb +634 -0
  259. data/vendor/plugins/globalize/test/db/schema.rb +90 -0
  260. data/vendor/plugins/globalize/test/db_translation_test.rb +374 -0
  261. data/vendor/plugins/globalize/test/fixtures/globalize_categories.yml +7 -0
  262. data/vendor/plugins/globalize/test/fixtures/globalize_categories_products.yml +7 -0
  263. data/vendor/plugins/globalize/test/fixtures/globalize_countries.yml +41 -0
  264. data/vendor/plugins/globalize/test/fixtures/globalize_languages.yml +64 -0
  265. data/vendor/plugins/globalize/test/fixtures/globalize_manufacturers.yml +5 -0
  266. data/vendor/plugins/globalize/test/fixtures/globalize_products.yml +29 -0
  267. data/vendor/plugins/globalize/test/fixtures/globalize_simples.yml +5 -0
  268. data/vendor/plugins/globalize/test/fixtures/globalize_translations.yml +354 -0
  269. data/vendor/plugins/globalize/test/locale_test.rb +27 -0
  270. data/vendor/plugins/globalize/test/mime_responds_test.rb +358 -0
  271. data/vendor/plugins/globalize/test/model_test.rb +17 -0
  272. data/vendor/plugins/globalize/test/standard_data_test_helper.rb +33 -0
  273. data/vendor/plugins/globalize/test/test_helper.rb +19 -0
  274. data/vendor/plugins/globalize/test/test_standard_data.rb +54 -0
  275. data/vendor/plugins/globalize/test/validation_test.rb +29 -0
  276. data/vendor/plugins/globalize/test/view_picking_test.rb +49 -0
  277. data/vendor/plugins/globalize/test/view_translation_test.rb +237 -0
  278. data/vendor/plugins/globalize/test/views/layouts/standard.rhtml +1 -0
  279. data/vendor/plugins/globalize/test/views/respond_to/all_types_with_layout.rhtml +1 -0
  280. data/vendor/plugins/globalize/test/views/respond_to/all_types_with_layout.rjs +1 -0
  281. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.en.rhtml +1 -0
  282. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.en.rjs +1 -0
  283. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.en.rxml +1 -0
  284. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.fr.rhtml +1 -0
  285. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.fr.rjs +1 -0
  286. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.fr.rxml +1 -0
  287. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.rhtml +1 -0
  288. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.rjs +1 -0
  289. data/vendor/plugins/globalize/test/views/respond_to/using_defaults.rxml +1 -0
  290. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.en.rhtml +1 -0
  291. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.en.rjs +1 -0
  292. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.en.rxml +1 -0
  293. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.fr.rhtml +1 -0
  294. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.fr.rjs +1 -0
  295. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.fr.rxml +1 -0
  296. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.rhtml +1 -0
  297. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.rjs +1 -0
  298. data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.rxml +1 -0
  299. data/vendor/plugins/globalize/test/views/test.he-IL.rhtml +1 -0
  300. data/vendor/plugins/globalize/test/views/test.rhtml +1 -0
  301. data/vendor/plugins/globalize/test/views/test2.he.rhtml +1 -0
  302. data/vendor/plugins/globalize/test/views/test2.rhtml +1 -0
  303. data/vendor/plugins/test_xml/MIT-LICENSE +20 -0
  304. data/vendor/plugins/test_xml/README +20 -0
  305. data/vendor/plugins/test_xml/Rakefile +22 -0
  306. data/vendor/plugins/test_xml/init.rb +7 -0
  307. data/vendor/plugins/test_xml/lib/xml_assertions.rb +22 -0
  308. data/vendor/plugins/test_xml/test/test_xml_test.rb +40 -0
  309. metadata +505 -0
@@ -0,0 +1,49 @@
1
+ =Welcome to Globalize
2
+
3
+ *Globalize* is a Ruby on Rails plugin designed to support globalized applications. It supports translation into multiple languages (for both db content and controller and view code) and localization of time, data, and numbers. It's under the MIT License, same as Ruby on Rails.
4
+
5
+ ==How to use it
6
+
7
+ ===In your models
8
+
9
+ class Product < ActiveRecord::Base
10
+ translates :name, :description, :specs
11
+ end
12
+
13
+ Then:
14
+
15
+ Locale.set("en-US")
16
+ prod = Product.find(1)
17
+
18
+ <tt>prod.name -> "Meatballs"</tt>
19
+
20
+ Locale.set("es-ES")
21
+ prod = Product.find(1)
22
+
23
+ <tt>prod.name -> "Albondigas"</tt>
24
+
25
+ === In your views (or anywhere else)
26
+
27
+ Locale.set("he-IL")
28
+ <%= "Thanks for ordering!".t %> -> "תודה על ההזמנה!"
29
+ <%= "You've got %d items in your cart" / 5 %> -> "יש 5 מוצרים בסל שלך"
30
+
31
+ Locale.set("es-ES")
32
+ <%= Time.now.loc("%d %B %Y") %> -> "17 Octubre 2005"
33
+ <%= 12345.45.loc %> -> "12.345,45"
34
+
35
+ There's more, but let's save that for later.
36
+
37
+ ==How to install
38
+
39
+ From your rails app root directory:
40
+
41
+ 1. <tt>script/plugin install http://svn.globalize-rails.org/svn/globalize/globalize/trunk</tt>
42
+ 1. <tt>rake globalize:setup</tt> (might take a while, about a minute or so)
43
+
44
+ ...and you're globalized, dude!
45
+
46
+ Optionally, try:
47
+
48
+ * <tt>rake test_plugins</tt>
49
+ * <tt>rake plugindoc</tt>
@@ -0,0 +1,240 @@
1
+ "id","code","english_name","date_format","currency_format","currency_code","thousands_sep","decimal_sep","currency_decimal_sep","number_grouping_scheme"
2
+ 1,"AD","Andorra",,,"EUR",,,,"western"
3
+ 2,"AE","United Arab Emirates",,,"AED",",",".",".","western"
4
+ 3,"AF","Afghanistan",,,"AFA",,,,"western"
5
+ 4,"AG","Antigua and Barbuda",,,"XCD",,,,"western"
6
+ 5,"AI","Anguilla",,,"XCD",,,,"western"
7
+ 6,"AL","Albania",,,"ALL",".",",",",","western"
8
+ 7,"AM","Armenia",,,"AMD",,,,"western"
9
+ 8,"AN","Netherlands Antilles",,,"ANG",,,,"western"
10
+ 9,"AO","Angola",,,"AON",,,,"western"
11
+ 10,"AQ","Antarctica",,,"NOK",,,,"western"
12
+ 11,"AR","Argentina",,,"ARA",".",",",",","western"
13
+ 12,"AS","American Samoa",,,"USD",,,,"western"
14
+ 13,"AT","Austria",,"€ %n","EUR",,",",",","western"
15
+ 14,"AU","Australia",,,"AUD",",",".",".","western"
16
+ 15,"AW","Aruba",,,"AWG",,,,"western"
17
+ 16,"AZ","Azerbaijan",,,"AZM",,".",".","western"
18
+ 17,"BA","Bosnia and Herzegovina",,,"BAM",,",",",","western"
19
+ 18,"BB","Barbados",,,"BBD",,,,"western"
20
+ 19,"BD","Bangladesh",,,"BDT",",",".",".","western"
21
+ 20,"BE","Belgium",,"%n €","EUR",".",",",",","western"
22
+ 21,"BF","Burkina Faso",,,"XAF",,,,"western"
23
+ 22,"BG","Bulgaria",,,"BGL"," ",",",",","western"
24
+ 23,"BH","Bahrain",,,"BHD",",",".",".","western"
25
+ 24,"BI","Burundi",,,"BIF",,,,"western"
26
+ 25,"BJ","Benin",,,"XAF",,,,"western"
27
+ 26,"BM","Bermuda",,,"BMD",,,,"western"
28
+ 27,"BN","Brunei Darussalam",,,"BND",,,,"western"
29
+ 28,"BO","Bolivia",,,"BOB",".",",",",","western"
30
+ 29,"BR","Brazil",,"R$%n","BRR",".",",",",","western"
31
+ 30,"BS","Bahamas",,,"BSD",,,,"western"
32
+ 31,"BT","Bhutan",,,"BTN",,,,"western"
33
+ 32,"BV","Bouvet Island",,,"NOK",,,,"western"
34
+ 33,"BW","Botswana",,,"BWP",",",".",".","western"
35
+ 34,"BY","Belarus",,,"BYR",,".",".","western"
36
+ 35,"BZ","Belize",,,"BZD",,,,"western"
37
+ 36,"CA","Canada",,,"CAD",",",".",".","western"
38
+ 37,"CC","Cocos Islands",,,"AUD",,,,"western"
39
+ 38,"CD","Congo",,,,,,,"western"
40
+ 39,"CF","Central African Republic",,,"XAF",,,,"western"
41
+ 40,"CG","Congo",,,"XAF",,,,"western"
42
+ 41,"CH","Switzerland",,"SFr. %n","CHF","'",",",".","western"
43
+ 42,"CI","Cote D'Ivoire",,,"XAF",,,,"western"
44
+ 43,"CK","Cook Islands",,,"NZD",,,,"western"
45
+ 44,"CL","Chile",,,"CLF",".",",",",","western"
46
+ 45,"CM","Cameroon",,,"XAF",,,,"western"
47
+ 46,"CN","China",,"Y%n","CNY",",",".",".","western"
48
+ 47,"CO","Colombia",,,"COP",".",",",",","western"
49
+ 48,"CR","Costa Rica",,,"CRC",",",".",".","western"
50
+ 49,"CS","Serbia and Montenegro",,,"CSD",,,,"western"
51
+ 50,"CU","Cuba",,,"CUP",,,,"western"
52
+ 51,"CV","Cape Verde",,,"CVE",,,,"western"
53
+ 52,"CX","Christmas Island",,,"AUD",,,,"western"
54
+ 53,"CY","Cyprus",,,"CYP",,,,"western"
55
+ 54,"CZ","Czech Republic",,,"CZK"," ",",",",","western"
56
+ 55,"DE","Germany",,"%n €","EUR",".",",",",","western"
57
+ 56,"DJ","Djibouti",,,"DJF",,,,"western"
58
+ 57,"DK","Denmark",,,"DKK",".",",",",","western"
59
+ 58,"DM","Dominica",,,"XCD",,,,"western"
60
+ 59,"DO","Dominican Republic",,,"DOP",",",".",".","western"
61
+ 60,"DZ","Algeria",,,"DZD",",",".",".","western"
62
+ 61,"EC","Ecuador",,,"USD",".",",",",","western"
63
+ 62,"EE","Estonia",,,"EEK"," ",",",",","western"
64
+ 63,"EG","Egypt",,,"EGP",",",".",".","western"
65
+ 64,"EH","Western Sahara",,,"MAD",,,,"western"
66
+ 65,"ER","Eritrea",,,"ERN",",",".",".","western"
67
+ 66,"ES","Spain",,"%n €","EUR",".",",",",","western"
68
+ 67,"ET","Ethiopia",,,"ETB",",",".",".","western"
69
+ 68,"FI","Finland",,,"EUR"," ",",",",","western"
70
+ 69,"FJ","Fiji",,,"FJD",,,,"western"
71
+ 70,"FK","Falkland Islands",,,"FKP",,,,"western"
72
+ 71,"FM","Micronesia",,,"USD",,,,"western"
73
+ 72,"FO","Faeroe Islands",,,"DKK",".",",",",","western"
74
+ 73,"FR","France",,"%n €","EUR",,",",",","western"
75
+ 74,"GA","Gabon",,,"XAF",,,,"western"
76
+ 75,"GB","United Kingdom",,"£%n","GBP",",",".",".","western"
77
+ 76,"GD","Grenada",,,"XCD",,,,"western"
78
+ 77,"GE","Georgia",,,"GEL",".",",",",","western"
79
+ 78,"GF","French Guiana",,,"EUR",,,,"western"
80
+ 79,"GH","Ghana",,,"GHC",,,,"western"
81
+ 80,"GI","Gibraltar",,,"GIP",,,,"western"
82
+ 81,"GL","Greenland",,,"DKK",".",",",",","western"
83
+ 82,"GM","Gambia",,,"GMD",,,,"western"
84
+ 83,"GN","Guinea",,,"GNS",,,,"western"
85
+ 84,"GP","Guadaloupe",,,"EUR",,,,"western"
86
+ 85,"GQ","Equatorial Guinea",,,"XAF",,,,"western"
87
+ 86,"GR","Greece",,,"EUR",".",",",",","western"
88
+ 87,"GS","South Georgia and the South Sandwich Islands",,,"GBP",,,,"western"
89
+ 88,"GT","Guatemala",,,"GTQ",",",".",".","western"
90
+ 89,"GU","Guam",,,"USD",,,,"western"
91
+ 90,"GW","Guinea-Bissau",,,"GWP",,,,"western"
92
+ 91,"GY","Guyana",,,"GYD",,,,"western"
93
+ 92,"HK","Hong Kong",,"HK$%n","HKD",",",".",".","western"
94
+ 93,"HM","Heard and McDonald Islands",,,"AUD",,,,"western"
95
+ 94,"HN","Honduras",,,"HNL",",",".",".","western"
96
+ 95,"HR","Hrvatska",,,"HRK",,",",",","western"
97
+ 96,"HT","Haiti",,,"HTG",,,,"western"
98
+ 97,"HU","Hungary",,,"HUF",".",",",",","western"
99
+ 98,"ID","Indonesia",,,"IDR",".",",",",","western"
100
+ 99,"IE","Ireland",,,"EUR",",",".",".","western"
101
+ 100,"IL","Israel",,"%n ₪","ILS",",",".",".","western"
102
+ 101,"IN","India",,"Rs.%n","INR",",",".",".","indian"
103
+ 102,"IO","British Indian Ocean Territory",,,"GBP",,,,"western"
104
+ 103,"IQ","Iraq",,,"IQD",",",".",".","western"
105
+ 104,"IR","Iran",,,"IRR","٬","٫","٫","western"
106
+ 105,"IS","Iceland",,,"ISK",".",",",",","western"
107
+ 106,"IT","Italy",,"€ %n","EUR",".",",",",","western"
108
+ 107,"JM","Jamaica",,,"JMD",,,,"western"
109
+ 108,"JO","Jordan",,,"JOD",",",".",".","western"
110
+ 109,"JP","Japan",,"¥%n","JPY",",",".",".","western"
111
+ 110,"KE","Kenya",,,"KES",,,,"western"
112
+ 111,"KG","Kyrgyz Republic",,,"KGS",,,,"western"
113
+ 112,"KH","Cambodia",,,"KHR",,,,"western"
114
+ 113,"KI","Kiribati",,,"AUD",,,,"western"
115
+ 114,"KM","Comoros",,,"KMF",,,,"western"
116
+ 115,"KN","St. Kitts and Nevis",,,"XCD",,,,"western"
117
+ 116,"KP","Korea",,,"KPW",,,,"western"
118
+ 117,"KR","Korea",,,"KRW",",",".",".","western"
119
+ 118,"KW","Kuwait",,,"KWD",",",".",".","western"
120
+ 119,"KY","Cayman Islands",,,"KYD",,,,"western"
121
+ 120,"KZ","Kazakhstan",,,"KZT",,,,"western"
122
+ 121,"LA","Lao People's Democratic Republic",,,"LAK",",",".",".","western"
123
+ 122,"LB","Lebanon",,,"LBP",",",".",".","western"
124
+ 123,"LC","St. Lucia",,,"XCD",,,,"western"
125
+ 124,"LI","Liechtenstein",,,"CHF",,,,"western"
126
+ 125,"LK","Sri Lanka",,,"LKR",,,,"western"
127
+ 126,"LR","Liberia",,,"LRD",,,,"western"
128
+ 127,"LS","Lesotho",,,"LSL",,,,"western"
129
+ 128,"LT","Lithuania",,,"LTL",".",",",",","western"
130
+ 129,"LU","Luxembourg",,,"EUR",".",",",",","western"
131
+ 130,"LV","Latvia",,,"LVL"," ",",",",","western"
132
+ 131,"LY","Libyan Arab Jamahiriya",,,"LYD",",",".",".","western"
133
+ 132,"MA","Morocco",,,"MAD",",",".",".","western"
134
+ 133,"MC","Monaco",,,"EUR",,,,"western"
135
+ 134,"MD","Moldova",,,"MDL",,,,"western"
136
+ 135,"MG","Madagascar",,,"MGF",,,,"western"
137
+ 136,"MH","Marshall Islands",,,"USD",,,,"western"
138
+ 137,"MK","Macedonia",,,"MKD",,",",",","western"
139
+ 138,"ML","Mali",,,"XAF",,,,"western"
140
+ 139,"MM","Myanmar",,,,,,,"western"
141
+ 140,"MN","Mongolia",,,"MNT",,".",".","western"
142
+ 141,"MO","Macao",,,"MOP",,,,"western"
143
+ 142,"MP","Northern Mariana Islands",,,"USD",,,,"western"
144
+ 143,"MQ","Martinique",,,"EUR",,,,"western"
145
+ 144,"MR","Mauritania",,,"MRO",,,,"western"
146
+ 145,"MS","Montserrat",,,"XCD",,,,"western"
147
+ 146,"MT","Malta",,,"MTL",",",".",".","western"
148
+ 147,"MU","Mauritius",,,"MUR",,,,"western"
149
+ 148,"MV","Maldives",,,"MVR",,,,"western"
150
+ 149,"MW","Malawi",,,"MWK",,,,"western"
151
+ 150,"MX","Mexico",,,"MXN",",",".",".","western"
152
+ 151,"MY","Malaysia",,,"MYR",",",".",".","western"
153
+ 152,"MZ","Mozambique",,,"MZM",,,,"western"
154
+ 153,"NA","Namibia",,,"NAD",,,,"western"
155
+ 154,"NC","New Caledonia",,,"XPF",,,,"western"
156
+ 155,"NE","Niger",,,"XOF",,,,"western"
157
+ 156,"NF","Norfolk Island",,,"AUD",,,,"western"
158
+ 157,"NG","Nigeria",,,"NGN",,,,"western"
159
+ 158,"NI","Nicaragua",,,"NIC",",",".",".","western"
160
+ 159,"NL","Netherlands",,"€ %n","EUR",,",",",","western"
161
+ 160,"NO","Norway",,"kr %n","NOK"," ",",",",","western"
162
+ 161,"NP","Nepal",,,"NPR",",",".",".","western"
163
+ 162,"NR","Nauru",,,"AUD",,,,"western"
164
+ 163,"NU","Niue",,,"NZD",,,,"western"
165
+ 164,"NZ","New Zealand",,,"NZD",",",".",".","western"
166
+ 165,"OM","Oman",,,"OMR",",",".",".","western"
167
+ 166,"PA","Panama",,,"PAB",",",".",".","western"
168
+ 167,"PE","Peru",,,"PEI",",",".",".","western"
169
+ 168,"PF","French Polynesia",,,"XPF",,,,"western"
170
+ 169,"PG","Papua New Guinea",,,"PGK",,,,"western"
171
+ 170,"PH","Philippines",,,"PHP",",",".",".","western"
172
+ 171,"PK","Pakistan",,,"PKR",",",".",".","western"
173
+ 172,"PL","Poland",,,"PLN",".",",",",","western"
174
+ 173,"PM","St. Pierre and Miquelon",,,"EUR",,,,"western"
175
+ 174,"PN","Pitcairn Island",,,"NZD",,,,"western"
176
+ 175,"PR","Puerto Rico",,,"USD",",",".",".","western"
177
+ 176,"PS","Palestinian Territory",,,,,,,"western"
178
+ 177,"PT","Portugal",,"%n €","EUR",".","$","$","western"
179
+ 178,"PW","Palau",,,"USD",,,,"western"
180
+ 179,"PY","Paraguay",,,"PYG",".",",",",","western"
181
+ 180,"QA","Qatar",,,"QAR",",",".",".","western"
182
+ 181,"RE","Reunion",,,"EUR",,,,"western"
183
+ 182,"RO","Romania",,,"ROL",".",",",",","western"
184
+ 183,"RU","Russian Federation",,,"RUB",,".",".","western"
185
+ 184,"RW","Rwanda",,,"RWF",,,,"western"
186
+ 185,"SA","Saudi Arabia",,,"SAR",,".",".","western"
187
+ 186,"SB","Solomon Islands",,,"SBD",,,,"western"
188
+ 187,"SC","Seychelles",,,"SCR",,,,"western"
189
+ 188,"SD","Sudan",,,"SDP",",",".",".","western"
190
+ 189,"SE","Sweden",,"%n kr","SEK",,",",",","western"
191
+ 190,"SG","Singapore",,,"SGD",",",".",".","western"
192
+ 191,"SH","St. Helena",,,"SHP",,,,"western"
193
+ 192,"SI","Slovenia",,,"SIT",,",",",","western"
194
+ 193,"SJ","Svalbard & Jan Mayen Islands",,,"NOK",,,,"western"
195
+ 194,"SK","Slovakia",,,"SKK"," ",",",",","western"
196
+ 195,"SL","Sierra Leone",,,"SLL",,,,"western"
197
+ 196,"SM","San Marino",,,"EUR",,,,"western"
198
+ 197,"SN","Senegal",,,"XOF",,,,"western"
199
+ 198,"SO","Somalia",,,"SOS",,,,"western"
200
+ 199,"SR","Suriname",,,"SRG",,,,"western"
201
+ 200,"ST","Sao Tome and Principe",,,"STD",,,,"western"
202
+ 201,"SV","El Salvador",,,"SVC",",",".",".","western"
203
+ 202,"SY","Syrian Arab Republic",,,"SYP",",",".",".","western"
204
+ 203,"SZ","Swaziland",,,"SZL",,,,"western"
205
+ 204,"TC","Turks and Caicos Islands",,,"USD",,,,"western"
206
+ 205,"TD","Chad",,,"XAF",,,,"western"
207
+ 206,"TF","French Southern Territories",,,"EUR",,,,"western"
208
+ 207,"TG","Togo",,,"XAF",,,,"western"
209
+ 208,"TH","Thailand",,,"THB",",",".",".","western"
210
+ 209,"TJ","Tajikistan",,,"TJR",,".",".","western"
211
+ 210,"TK","Tokelau",,,"NZD",,,,"western"
212
+ 211,"TL","Timor-Leste",,,,,,,"western"
213
+ 212,"TM","Turkmenistan",,,"TMM",,,,"western"
214
+ 213,"TN","Tunisia",,,"TND",",",".",".","western"
215
+ 214,"TO","Tonga",,,"TOP",,,,"western"
216
+ 215,"TR","Turkey",,,"TRL",".",",",",","western"
217
+ 216,"TT","Trinidad and Tobago",,,"TTD",,,,"western"
218
+ 217,"TV","Tuvalu",,,"AUD",,,,"western"
219
+ 218,"TW","Taiwan",,"NT$%n","TWD",",",".",".","western"
220
+ 219,"TZ","Tanzania",,,"TZS",,,,"western"
221
+ 220,"UA","Ukraine",,,"UAH",,".",".","western"
222
+ 221,"UG","Uganda",,,"UGS",",",".",".","western"
223
+ 222,"UM","United States Minor Outlying Islands",,,"USD",,,,"western"
224
+ 223,"US","United States of America",,,"USD",",",".",".","western"
225
+ 224,"UY","Uruguay",,,"UYU",".",",",",","western"
226
+ 225,"UZ","Uzbekistan",,,"UZS",",",".",".","western"
227
+ 226,"VA","Holy See",,,"EUR",,,,"western"
228
+ 227,"VC","St. Vincent and the Grenadines",,,"XCD",,,,"western"
229
+ 228,"VE","Venezuela",,,"VEB",".",",",",","western"
230
+ 229,"VG","British Virgin Islands",,,"USD",,,,"western"
231
+ 230,"VI","US Virgin Islands",,,"USD",,,,"western"
232
+ 231,"VN","Viet Nam",,,"VND",".",",",",","western"
233
+ 232,"VU","Vanuatu",,,"VUV",,,,"western"
234
+ 233,"WF","Wallis and Futuna Islands",,,"XPF",,,,"western"
235
+ 234,"WS","Samoa",,,"WST",,,,"western"
236
+ 235,"YE","Yemen",,,,",",".",".","western"
237
+ 236,"YT","Mayotte",,,"EUR",,,,"western"
238
+ 237,"ZA","South Africa",,,"ZAR",",",".",".","western"
239
+ 238,"ZM","Zambia",,,"ZMK",,,,"western"
240
+ 239,"ZW","Zimbabwe",,,"ZWD",",",".",".","western"
@@ -0,0 +1,188 @@
1
+ "id","iso_639_1","iso_639_2","iso_639_3","rfc_3066","english_name","english_name_locale","english_name_modifier","native_name","native_name_locale","native_name_modifier","macro_language","direction","pluralization","scope"
2
+
3
+ 15,"aa","aar","aar",,"Afar",,,,,,0,"ltr",,"L"
4
+ 33,"ab","abk","abk",,"Abkhazian",,,"аҧсуа бызшәа",,,0,"ltr",,"L"
5
+ 114,"af","afr","afr",,"Afrikaans",,,"Afrikaans",,,0,"ltr",,"L"
6
+ 191,"ak","aka","aka",,"Akan",,,,,,1,"ltr",,"L"
7
+ 247,"am","amh","amh",,"Amharic",,,"አማርኛ",,,0,"ltr",,"L"
8
+ 340,"ar","ara","ara",,"Arabic",,,"العربية",,,1,"rtl",,"L"
9
+ 346,"an","arg","arg",,"Aragonese",,,,,,0,"ltr",,"L"
10
+ 376,"as","asm","asm",,"Assamese",,,,,,0,"ltr",,"L"
11
+ 438,"av","ava","ava",,"Avaric",,,,,,0,"ltr",,"L"
12
+ 441,"ae","ave","ave",,"Avestan",,,,,,0,"ltr",,"A"
13
+ 483,"ay","aym","aym",,"Aymara",,,,,,1,"ltr",,"L"
14
+ 496,"az","aze","aze",,"Azerbaijani",,,"azərbaycan",,,1,"ltr",,"L"
15
+ 512,"ba","bak","bak",,"Bashkir",,,,,,0,"ltr",,"L"
16
+ 514,"bm","bam","bam",,"Bambara",,,"Bamanankan",,,0,"ltr",,"L"
17
+ 614,"be","bel","bel",,"Belarusian",,,"Беларуская",,,0,"ltr",,"L"
18
+ 616,"bn","ben","ben",,"Bengali",,,,,,0,"ltr",,"L"
19
+ 721,"bi","bis","bis",,"Bislama",,,,,,0,"ltr",,"L"
20
+ 860,"bo","bod","bod",,"Tibetan",,,,,,0,"ltr",,"L"
21
+ 875,"bs","bos","bos",,"Bosnian",,,,,,0,"ltr",,"L"
22
+ 936,"br","bre","bre",,"Breton",,,,,,0,"ltr",,"L"
23
+ 1020,"bg","bul","bul",,"Bulgarian",,,"Български",,,0,"ltr",,"L"
24
+ 1177,"ca","cat","cat",,"Catalan",,,"Català",,,0,"ltr",,"L"
25
+ 1233,"cs","ces","ces",,"Czech",,,"čeština",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c%10>=2 && c%10<=4 && (c%100<10 || c%100>=20) ? 2 : 3","L"
26
+ 1242,"ch","cha","cha",,"Chamorro",,,,,,0,"ltr",,"L"
27
+ 1246,"ce","che","che",,"Chechen",,,,,,0,"ltr",,"L"
28
+ 1261,"cu","chu","chu",,"Slavic",,"Church",,,,0,"ltr",,"A"
29
+ 1262,"cv","chv","chv",,"Chuvash",,,,,,0,"ltr",,"L"
30
+ 1372,"kw","cor","cor",,"Cornish",,,,,,0,"ltr",,"L"
31
+ 1373,"co","cos","cos",,"Corsican",,,,,,0,"ltr",,"L"
32
+ 1397,"cr","cre","cre",,"Cree",,,,,,1,"ltr",,"L"
33
+ 1481,"cy","cym","cym",,"Welsh",,,"Cymraeg",,,0,"ltr",,"L"
34
+ 1499,"da","dan","dan",,"Danish",,,"Dansk",,,0,"ltr","c == 1 ? 1 : 2","L"
35
+ 1556,"de","deu","deu",,"German",,,"Deutsch",,,0,"ltr","c == 1 ? 1 : 2","L"
36
+ 1607,"dv","div","div",,"Divehi",,,,,,0,"ltr",,"L"
37
+ 1760,"dz","dzo","dzo",,"Dzongkha",,,,,,0,"ltr",,"L"
38
+ 1793,"el","ell","ell",,"Greek",,"Modern (1453-)","Ελληνικά",,,0,"ltr","c == 1 ? 1 : 2","L"
39
+ 1819,"en","eng","eng",,"English",,,,,,0,"ltr","c == 1 ? 1 : 2","L"
40
+ 1831,"eo","epo","epo",,"Esperanto",,,,,,0,"ltr","c == 1 ? 1 : 2","C"
41
+ 1851,"et","est","est",,"Estonian",,,"Eesti",,,0,"ltr","c == 1 ? 1 : 2","L"
42
+ 1865,"eu","eus","eus",,"Basque",,,"euskera",,,0,"ltr",,"L"
43
+ 1869,"ee","ewe","ewe",,"Ewe",,,"Ɛʋɛ",,,0,"ltr",,"L"
44
+ 1886,"fo","fao","fao",,"Faroese",,,,,,0,"ltr",,"L"
45
+ 1889,"fa","fas","fas",,"Persian",,,"فارسی",,,1,"ltr",,"L"
46
+ 1901,"fj","fij","fij",,"Fijian",,,,,,0,"ltr",,"L"
47
+ 1903,"fi","fin","fin",,"Finnish",,,"suomi",,,0,"ltr","c == 1 ? 1 : 2","L"
48
+ 1930,"fr","fra","fra",,"French",,,"français",,,0,"ltr","c == 1 ? 1 : 2","L"
49
+ 1942,"fy","fry","fry",,"Frisian",,,,,,1,"ltr",,"L"
50
+ 1954,"ff","ful","ful",,"Fulah",,,"Fulfulde, Pulaar, Pular",,,1,"ltr",,"L"
51
+ 2112,"gd","gla","gla",,"Gaelic","Scots",,,,,0,"ltr","c==1 ? 1 : c==2 ? 2 : 3","L"
52
+ 2115,"ga","gle","gle",,"Irish",,,"Gaeilge",,,0,"ltr","c==1 ? 1 : c==2 ? 2 : 3","L"
53
+ 2116,"gl","glg","glg",,"Gallegan",,,"Galego",,,0,"ltr",,"L"
54
+ 2125,"gv","glv","glv",,"Manx",,,,,,0,"ltr",,"E"
55
+ 2194,"gn","grn","grn",,"Guarani",,,,,,1,"ltr",,"L"
56
+ 2226,"gu","guj","guj",,"Gujarati",,,,,,0,"ltr",,"L"
57
+ 2304,"ht","hat","hat",,"Haitian; Haitian Creole",,,,,,0,"ltr",,"L"
58
+ 2305,"ha","hau","hau",,"Hausa",,,"Hausa",,,0,"ltr",,"L"
59
+ 2315,"sh",,"hbs",,"Serbo-Croatian",,,,,,1,"ltr",,"L"
60
+ 2323,"he","heb","heb",,"Hebrew",,,"עברית",,,0,"rtl","c == 1 ? 1 : 2","L"
61
+ 2329,"hz","her","her",,"Herero",,,,,,0,"ltr",,"L"
62
+ 2343,"hi","hin","hin",,"Hindi",,,"हिंदी",,,0,"ltr",,"L"
63
+ 2370,"ho","hmo","hmo",,"Hiri Motu",,,,,,0,"ltr",,"L"
64
+ 2418,"hr","hrv","hrv",,"Croatian",,,"Hrvatski",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c%10>=2 && c%10<=4 && (c%100<10 || c%100>=20) ? 2 : 3","L"
65
+ 2443,"hu","hun","hun",,"Hungarian",,,"Magyar",,,0,"ltr","c = 1","L"
66
+ 2466,"hy","hye","hye",,"Armenian",,,"Հայերեն",,,0,"ltr",,"L"
67
+ 2480,"ig","ibo","ibo",,"Igbo",,,,,,0,"ltr",,"L"
68
+ 2494,"io","ido","ido",,"Ido",,,,,,0,"ltr",,"C"
69
+ 2519,"ii","iii","iii",,"Yi",,"Sichuan",,,,0,"ltr",,"L"
70
+ 2532,"iu","iku","iku",,"Inuktitut",,,,,,1,"ltr",,"L"
71
+ 2539,"ie","ile","ile",,"Interlingue",,,,,,0,"ltr",,"C"
72
+ 2556,"ia","ina","ina",,"Interlingua","International Auxiliary Language Association",,,,,0,"ltr",,"C"
73
+ 2558,"id","ind","ind",,"Indonesian",,,"Bahasa indonesia",,,0,"ltr",,"L"
74
+ 2574,"ik","ipk","ipk",,"Inupiaq",,,,,,1,"ltr",,"L"
75
+ 2593,"is","isl","isl",,"Icelandic",,,"Íslenska",,,0,"ltr",,"L"
76
+ 2600,"it","ita","ita",,"Italian",,,"italiano",,,0,"ltr","c == 1 ? 1 : 2","L"
77
+ 2652,"jv","jav","jav",,"Javanese",,,,,,0,"ltr",,"L"
78
+ 2723,"ja","jpn","jpn",,"Japanese",,,"日本語",,,0,"ltr","c = 1","L"
79
+ 2763,"kl","kal","kal",,"Kalaallisut",,,,,,0,"ltr",,"L"
80
+ 2765,"kn","kan","kan",,"Kannada",,,"ಕನ್ನಡ",,,0,"ltr",,"L"
81
+ 2769,"ks","kas","kas",,"Kashmiri",,,,,,0,"ltr",,"L"
82
+ 2770,"ka","kat","kat",,"Georgian",,,,,,0,"ltr",,"L"
83
+ 2771,"kr","kau","kau",,"Kanuri",,,,,,1,"ltr",,"L"
84
+ 2776,"kk","kaz","kaz",,"Kazakh",,,"Қазақ",,,0,"ltr",,"L"
85
+ 2939,"km","khm","khm",,"Khmer",,,,,,0,"ltr",,"L"
86
+ 2963,"ki","kik","kik",,"Kikuyu",,,,,,0,"ltr",,"L"
87
+ 2966,"rw","kin","kin",,"Kinyarwanda",,,"Kinyarwanda",,,0,"ltr",,"L"
88
+ 2970,"ky","kir","kir",,"Kirghiz",,,"Кыргыз",,,0,"ltr",,"L"
89
+ 3117,"kv","kom","kom",,"Komi",,,,,,1,"ltr",,"L"
90
+ 3118,"kg","kon","kon",,"Kongo",,,,,,1,"ltr",,"L"
91
+ 3122,"ko","kor","kor",,"Korean",,,"한국어",,,0,"ltr","c = 1","L"
92
+ 3260,"kj","kua","kua",,"Kuanyama",,,,,,0,"ltr",,"L"
93
+ 3276,"ku","kur","kur",,"Kurdish",,,,,,1,"ltr",,"L"
94
+ 3428,"lo","lao","lao",,"Lao",,,,,,0,"ltr",,"L"
95
+ 3433,"la","lat","lat",,"Latin",,,,,,0,"ltr",,"A"
96
+ 3435,"lv","lav","lav",,"Latvian",,,"Latviešu",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c != 0 ? 2 : 3","L"
97
+ 3546,"li","lim","lim",,"Limburgish",,"Limburger",,,,0,"ltr",,"L"
98
+ 3547,"ln","lin","lin",,"Lingala",,,,,,0,"ltr",,"L"
99
+ 3553,"lt","lit","lit",,"Lithuanian",,,"Lietuviškai",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c%10>=2 && (c%100<10 || c%100>=20) ? 2 : 3","L"
100
+ 3687,"lb","ltz","ltz",,"Letzeburgesch",,,,,,0,"ltr",,"L"
101
+ 3689,"lu","lub","lub",,"Luba-Katanga",,,,,,0,"ltr",,"L"
102
+ 3694,"lg","lug","lug",,"Ganda",,,,,,0,"ltr",,"L"
103
+ 3732,"mh","mah","mah",,"Marshall",,,,,,0,"ltr",,"L"
104
+ 3736,"ml","mal","mal",,"Malayalam",,,,,,0,"ltr",,"L"
105
+ 3740,"mr","mar","mar",,"Marathi",,,,,,0,"ltr",,"L"
106
+ 3981,"mk","mkd","mkd",,"Macedonian",,,"Македонски",,,0,"ltr",,"L"
107
+ 4009,"mg","mlg","mlg",,"Malagasy",,,,,,1,"ltr",,"L"
108
+ 4022,"mt","mlt","mlt",,"Maltese",,,"Malti",,,0,"ltr",,"L"
109
+ 4091,"mo","mol","mol",,"Moldavian",,,,,,0,"ltr",,"L"
110
+ 4093,"mn","mon","mon",,"Mongolian",,,,,,1,"ltr",,"L"
111
+ 4166,"mi","mri","mri",,"Maori",,,,,,0,"ltr",,"L"
112
+ 4184,"ms","msa","msa",,"Malay","generic",,"Bahasa melayu",,,1,"ltr",,"L"
113
+ 4338,"my","mya","mya",,"Burmese",,,,,,0,"ltr",,"L"
114
+ 4406,"na","nau","nau",,"Nauru",,,,,,0,"ltr",,"L"
115
+ 4407,"nv","nav","nav",,"Navajo",,,,,,0,"ltr",,"L"
116
+ 4423,"nr","nbl","nbl",,"Ndebele",,"South",,,,0,"ltr",,"L"
117
+ 4463,"nd","nde","nde",,"Ndebele",,"North",,,,0,"ltr",,"L"
118
+ 4473,"ng","ndo","ndo",,"Ndonga",,,,,,0,"ltr",,"L"
119
+ 4499,"ne","nep","nep",,"Nepali",,,,,,0,"ltr",,"L"
120
+ 4628,"nl","nld","nld",,"Dutch",,,"Nederlands",,,0,"ltr","c == 1 ? 1 : 2","L"
121
+ 4682,"nn","nno","nno",,"Norwegian Nynorsk",,,,,,0,"ltr",,"L"
122
+ 4695,"nb","nob","nob",,"Norwegian Bokmål",,,,,,0,"ltr",,"L"
123
+ 4709,"no","nor","nor",,"Norwegian",,,"Norsk",,,1,"ltr","c == 1 ? 1 : 2","L"
124
+ 4821,"ny","nya","nya",,"Chichewa; Nyanja",,,,,,0,"ltr",,"L"
125
+ 4867,"oc","oci","oci",,"Occitan","post 1500",,,,,1,"ltr",,"L"
126
+ 4891,"oj","oji","oji",,"Ojibwa",,,,,,1,"ltr",,"L"
127
+ 4965,"or","ori","ori",,"Oriya",,,,,,0,"ltr",,"L"
128
+ 4967,"om","orm","orm",,"Oromo",,,,,,1,"ltr",,"L"
129
+ 4984,"os","oss","oss",,"Ossetian; Ossetic",,,,,,0,"ltr",,"L"
130
+ 5031,"pa","pan","pan",,"Panjabi",,,,,,0,"ltr",,"L"
131
+ 5176,"pi","pli","pli",,"Pali",,,,,,0,"ltr",,"A"
132
+ 5244,"pl","pol","pol",,"Polish",,,"Polski",,,0,"ltr","c==1 ? 1 : c%10>=2 && c%10<=4 && (c%100<10 || c%100>=20) ? 2 : 3","L"
133
+ 5250,"pt","por","por",,"Portuguese",,,"português",,,0,"ltr","c == 1 ? 1 : 2","L"
134
+ 5343,"ps","pus","pus",,"Pushto",,,"پښتو",,,1,"ltr",,"L"
135
+ 5368,"qu","que","que",,"Quechua",,,,,,1,"ltr",,"L"
136
+ 5525,"rm","roh","roh",,"Raeto-Romance",,,,,,0,"ltr",,"L"
137
+ 5528,"ro","ron","ron",,"Romanian",,,"Română",,,0,"ltr",,"L"
138
+ 5552,"rn","run","run",,"Rundi",,,"Kirundi",,,0,"ltr",,"L"
139
+ 5556,"ru","rus","rus",,"Russian",,,"Pyccĸий",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c%10>=2 && c%10<=4 && (c%100<10 || c%100>=20) ? 2 : 3","L"
140
+ 5576,"sg","sag","sag",,"Sango",,,,,,0,"ltr",,"L"
141
+ 5581,"sa","san","san",,"Sanskrit",,,,,,0,"ltr",,"A"
142
+ 5738,"si","sin","sin",,"Sinhalese",,,,,,0,"ltr",,"L"
143
+ 5800,"sk","slk","slk",,"Slovak",,,"Slovenčina",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c%10>=2 && c%10<=4 && (c%100<10 || c%100>=20) ? 2 : 3","L"
144
+ 5810,"sl","slv","slv",,"Slovenian",,,"Slovenščina",,,0,"ltr","c%100==1 ? 1 : c%100==2 ? 2 : c%100==3 || c%100==4 ? 3 : 4","L"
145
+ 5819,"se","sme","sme",,"Northern Sami",,,,,,0,"ltr",,"L"
146
+ 5828,"sm","smo","smo",,"Samoan",,,,,,0,"ltr",,"L"
147
+ 5840,"sn","sna","sna",,"Shona",,,,,,0,"ltr",,"L"
148
+ 5843,"sd","snd","snd",,"Sindhi",,,,,,0,"ltr",,"L"
149
+ 5876,"so","som","som",,"Somali",,,"Somali",,,0,"ltr",,"L"
150
+ 5882,"st","sot","sot",,"Sotho",,"Southern",,,,0,"ltr",,"L"
151
+ 5889,"es","spa","spa",,"Spanish",,,"Español",,,0,"ltr","c == 1 ? 1 : 2","L"
152
+ 5910,"sq","sqi","sqi",,"Albanian",,,"shqip",,,1,"ltr",,"L"
153
+ 5921,"sc","srd","srd",,"Sardinian",,,,,,1,"ltr",,"L"
154
+ 5933,"sr","srp","srp",,"Serbian",,,"Srpski",,,0,"ltr",,"L"
155
+ 5964,"ss","ssw","ssw",,"Swati",,,,,,0,"ltr",,"L"
156
+ 6002,"su","sun","sun",,"Sundanese",,,,,,0,"ltr",,"L"
157
+ 6021,"sw","swa","swa",,"Swahili","generic",,"Kiswahili",,,1,"ltr",,"L"
158
+ 6024,"sv","swe","swe",,"Swedish",,,"svenska",,,0,"ltr","c == 1 ? 1 : 2","L"
159
+ 6086,"ty","tah","tah",,"Tahitian",,,,,,0,"ltr",,"L"
160
+ 6090,"ta","tam","tam",,"Tamil",,,,,,0,"ltr",,"L"
161
+ 6097,"tt","tat","tat",,"Tatar",,,,,,0,"ltr",,"L"
162
+ 6182,"te","tel","tel",,"Telugu",,,"తెలుగు",,,0,"ltr",,"L"
163
+ 6210,"tg","tgk","tgk",,"Tajik",,,,,,0,"ltr",,"L"
164
+ 6211,"tl","tgl","tgl",,"Tagalog",,,,,,0,"ltr",,"L"
165
+ 6223,"th","tha","tha",,"Thai",,,"ภาษาไทย",,,0,"ltr",,"L"
166
+ 6260,"ti","tir","tir",,"Tigrinya",,,,,,0,"ltr",,"L"
167
+ 6383,"to","ton","ton",,"Tonga","Tonga Islands",,,,,0,"ltr",,"L"
168
+ 6466,"tn","tsn","tsn",,"Tswana",,,,,,0,"ltr",,"L"
169
+ 6467,"ts","tso","tso",,"Tsonga",,,,,,0,"ltr",,"L"
170
+ 6513,"tk","tuk","tuk",,"Turkmen",,,,,,0,"ltr",,"L"
171
+ 6519,"tr","tur","tur",,"Turkish",,,"Tϋrkçe",,,0,"ltr","c = 1","L"
172
+ 6546,"tw","twi","twi",,"Twi",,,,,,0,"ltr",,"L"
173
+ 6630,"ug","uig","uig",,"Uighur",,,,,,0,"ltr",,"L"
174
+ 6640,"uk","ukr","ukr",,"Ukrainian",,,"Українська",,,0,"ltr","c%10==1 && c%100!=11 ? 1 : c%10>=2 && c%10<=4 && (c%100<10 || c%100>=20) ? 2 : 3","L"
175
+ 6679,"ur","urd","urd",,"Urdu",,,"اردو",,,0,"ltr",,"L"
176
+ 6719,"uz","uzb","uzb",,"Uzbek",,,"o'zbek",,,1,"ltr",,"L"
177
+ 6744,"ve","ven","ven",,"Venda",,,,,,0,"ltr",,"L"
178
+ 6751,"vi","vie","vie",,"Vietnamese",,,"Tiếng Việt",,,0,"ltr",,"L"
179
+ 6800,"vo","vol","vol",,"Volapük",,,,,,0,"ltr",,"C"
180
+ 6911,"wa","wln","wln",,"Walloon",,,,,,0,"ltr",,"L"
181
+ 6952,"wo","wol","wol",,"Wolof",,,"Wolof",,,0,"ltr",,"L"
182
+ 7078,"xh","xho","xho",,"Xhosa",,,,,,0,"ltr",,"L"
183
+ 7324,"yi","yid","yid",,"Yiddish",,,,,,1,"ltr",,"L"
184
+ 7481,"za","zha","zha",,"Zhuang",,,,,,1,"ltr",,"L"
185
+ 7484,"zh","zho","zho",,"Chinese",,,"中文",,,1,"ltr",,"L"
186
+ 7594,"zu","zul","zul",,"Zulu",,,"isiZulu",,,0,"ltr",,"L"
187
+ 7595,,,,"zh-Hant","Traditional Chinese",,,,,,0,"ltr",,"L"
188
+ 7596,,,,"zh-Hans","Simplified Chinese",,,,,,0,"ltr",,"L"